Skip to content

Commit b8c8df0

Browse files
authored
fix(frontend): improve centered page overflow (#7515)
* center page top when needed * remove debug message
1 parent 710987a commit b8c8df0

File tree

6 files changed

+323
-289
lines changed

6 files changed

+323
-289
lines changed

frontend/src/lib/components/CenteredModal.svelte

Lines changed: 39 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,41 +4,60 @@
44
import WindmillIcon from './icons/WindmillIcon.svelte'
55
import LoginPageHeader from './LoginPageHeader.svelte'
66
7-
export let subtitle: string | undefined = undefined
8-
export let title = 'Windmill'
9-
export let disableLogo = false
10-
export let large = false
7+
interface Props {
8+
subtitle?: string | undefined
9+
title?: string
10+
disableLogo?: boolean
11+
large?: boolean
12+
centerVertically?: boolean
13+
children?: import('svelte').Snippet
14+
}
15+
16+
let {
17+
subtitle = undefined,
18+
title = 'Windmill',
19+
disableLogo = false,
20+
large = false,
21+
centerVertically = true,
22+
children
23+
}: Props = $props()
1124
1225
setLicense()
1326
</script>
1427

15-
<div class="center-center min-h-screen p-4 relative bg-surface-secondary">
16-
<div class="flex flex-col gap-2 items-center w-full">
28+
<div
29+
class="flex justify-center h-screen p-4 relative bg-surface-secondary overflow-auto"
30+
class:items-center={centerVertically}
31+
style="scrollbar-gutter: stable both-edges;"
32+
>
33+
<div class="flex flex-col gap-2 items-center w-full pb-8 h-fit">
1734
{#if (!disableLogo && !$enterpriseLicense) || !$whitelabelNameStore}
1835
<div class="hidden lg:block">
1936
<div>
20-
<WindmillIcon height="100px" width="100px" spin="slow" />
37+
<WindmillIcon size={centerVertically ? 64 : 48} spin="slow" />
2138
</div>
22-
<h2 class="text-center py-2 text-primary">Windmill</h2>
2339
</div>
40+
{:else}
41+
<div class="pt-8"></div>
2442
{/if}
2543

44+
<div class="mb-4">
45+
<h1 class="text-center text-lg text-emphasis font-semibold">
46+
{title}
47+
</h1>
48+
{#if subtitle}
49+
<p class="text-xs font-normal text-primary text-center mt-2">
50+
{subtitle}
51+
</p>
52+
{/if}
53+
</div>
54+
2655
<div
2756
class="rounded-md bg-surface w-full {large
2857
? 'max-w-5xl'
29-
: 'max-w-[640px]'} p-4 sm:py-8 sm:px-10 mb-6 md:mb-20 z-10"
58+
: 'max-w-[640px]'} p-4 sm:py-8 sm:px-10 z-10"
3059
>
31-
<div class="mb-10">
32-
<h1 class="text-center text-lg text-emphasis font-semibold">
33-
{title}
34-
</h1>
35-
{#if subtitle}
36-
<p class="text-xs font-normal text-primary text-center mt-2">
37-
{subtitle}
38-
</p>
39-
{/if}
40-
</div>
41-
<slot />
60+
{@render children?.()}
4261
</div>
4362
</div>
4463

frontend/src/lib/components/workspaceSettings/CreateWorkspace.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@
344344
let domain = $derived($usersWorkspaceStore?.email.split('@')[1])
345345
</script>
346346

347-
<CenteredModal title="{isFork ? 'Forking' : 'New'} Workspace">
347+
<CenteredModal title="{isFork ? 'Forking' : 'New'} Workspace" centerVertically={false}>
348348
<div class="flex flex-col gap-8">
349349
{#if isFork}
350350
<div class="flex flex-block gap-2">
@@ -593,7 +593,7 @@
593593
{/if}
594594
</div>
595595
{/if}
596-
<div class="flex flex-wrap flex-row justify-between pt-12 gap-4">
596+
<div class="flex flex-wrap flex-row justify-between gap-4 pt-4">
597597
<Button
598598
disabled={forkCreationLoading}
599599
variant="default"

frontend/src/routes/(root)/(logged)/user/(user)/instance_settings/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
let saved = false
88
</script>
99

10-
<CenteredModal large title="Instance settings">
10+
<CenteredModal large title="Instance settings" centerVertically={false}>
1111
<InstanceSettings on:saved={() => (saved = true)} />
1212
<p class="text-secondary text-sm px-2 py-4">
1313
You can change these settings later in the instance settings but finishing setup will leave this

0 commit comments

Comments
 (0)