diff --git a/src/frontend/src/lib/components/launchpad/Launchpad.svelte b/src/frontend/src/lib/components/launchpad/Launchpad.svelte index 6584d6400..5b2f67368 100644 --- a/src/frontend/src/lib/components/launchpad/Launchpad.svelte +++ b/src/frontend/src/lib/components/launchpad/Launchpad.svelte @@ -4,7 +4,6 @@ import { fade } from 'svelte/transition'; import LaunchpadFirstSatellite from '$lib/components/launchpad/LaunchpadFirstSatellite.svelte'; import LaunchpadSegments from '$lib/components/launchpad/LaunchpadSegments.svelte'; - import ContainerCentered from '$lib/components/ui/ContainerCentered.svelte'; import Message from '$lib/components/ui/Message.svelte'; import Spinner from '$lib/components/ui/Spinner.svelte'; import { satellitesStore } from '$lib/derived/satellites.derived'; @@ -35,11 +34,9 @@ {:else} -
- - - -
+
+ +
{/if} {:else if ($satellitesStore?.length ?? 0) >= 1}
diff --git a/src/frontend/src/lib/components/launchpad/LaunchpadButton.svelte b/src/frontend/src/lib/components/launchpad/LaunchpadButton.svelte new file mode 100644 index 000000000..c74adf6fd --- /dev/null +++ b/src/frontend/src/lib/components/launchpad/LaunchpadButton.svelte @@ -0,0 +1,75 @@ + + + + + diff --git a/src/frontend/src/lib/components/launchpad/LaunchpadFirstSatellite.svelte b/src/frontend/src/lib/components/launchpad/LaunchpadFirstSatellite.svelte index 8db032eaf..7ed2c8d95 100644 --- a/src/frontend/src/lib/components/launchpad/LaunchpadFirstSatellite.svelte +++ b/src/frontend/src/lib/components/launchpad/LaunchpadFirstSatellite.svelte @@ -1,11 +1,12 @@ - + - diff --git a/src/frontend/src/lib/components/launchpad/LaunchpadGreetings.svelte b/src/frontend/src/lib/components/launchpad/LaunchpadGreetings.svelte index 9fc1a34ee..6c45e6701 100644 --- a/src/frontend/src/lib/components/launchpad/LaunchpadGreetings.svelte +++ b/src/frontend/src/lib/components/launchpad/LaunchpadGreetings.svelte @@ -3,6 +3,12 @@ import IconTerminal from '$lib/components/icons/IconTerminal.svelte'; import { i18n } from '$lib/stores/app/i18n.store'; + interface Props { + withoutReturningLabel?: boolean; + } + + let { withoutReturningLabel = false }: Props = $props(); + const timedGreeting = (): string => { const hour = getHours(new Date()); @@ -13,7 +19,10 @@ : $i18n.launchpad.good_evening; }; - const genericGreetings = [$i18n.launchpad.welcome_back, $i18n.launchpad.greetings]; + let genericGreetings = $derived([ + ...(withoutReturningLabel ? [] : [$i18n.launchpad.welcome_back]), + $i18n.launchpad.greetings + ]); let greetings = $derived([...genericGreetings, timedGreeting()]); diff --git a/src/frontend/src/lib/components/launchpad/LaunchpadHeader.svelte b/src/frontend/src/lib/components/launchpad/LaunchpadHeader.svelte new file mode 100644 index 000000000..7718667ec --- /dev/null +++ b/src/frontend/src/lib/components/launchpad/LaunchpadHeader.svelte @@ -0,0 +1,38 @@ + + +
+ + + {@render children?.()} +
+ + diff --git a/src/frontend/src/lib/components/launchpad/LaunchpadSegments.svelte b/src/frontend/src/lib/components/launchpad/LaunchpadSegments.svelte index e90cbe4e9..5c5d13eb3 100644 --- a/src/frontend/src/lib/components/launchpad/LaunchpadSegments.svelte +++ b/src/frontend/src/lib/components/launchpad/LaunchpadSegments.svelte @@ -1,5 +1,6 @@ - + + + diff --git a/src/frontend/src/lib/components/launchpad/LaunchpadToolbar.svelte b/src/frontend/src/lib/components/launchpad/LaunchpadToolbar.svelte index 4eded8de5..852b48fd2 100644 --- a/src/frontend/src/lib/components/launchpad/LaunchpadToolbar.svelte +++ b/src/frontend/src/lib/components/launchpad/LaunchpadToolbar.svelte @@ -2,13 +2,10 @@ import { debounce } from '@dfinity/utils'; import { run } from 'svelte/legacy'; import AttachActions from '$lib/components/attach-detach/AttachActions.svelte'; - import LaunchpadGreetings from '$lib/components/launchpad/LaunchpadGreetings.svelte'; import LaunchpadLayout from '$lib/components/launchpad/LaunchpadLayout.svelte'; import LaunchpadNewActions from '$lib/components/launchpad/LaunchpadNewActions.svelte'; import Input from '$lib/components/ui/Input.svelte'; - import { onIntersection } from '$lib/directives/intersection.directives'; import { i18n } from '$lib/stores/app/i18n.store'; - import { onLayoutTitleIntersection } from '$lib/stores/app/layout-intersecting.store'; interface Props { filter?: string; @@ -24,36 +21,26 @@ // @ts-expect-error TODO: to be migrated to Svelte v5 (filterInput, debounceUpdateFilter()); }); - - const customOnIntersection = (element: HTMLElement) => - onIntersection(element, { - threshold: 0.8, - rootMargin: '-50px 0px' - }); -
- - -
-
-
- -
- - - - +
+
+
+
- + + +
+ +