From bf493bb624a374c367fd75b5abef0ee6071759cf Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Sat, 4 Apr 2026 19:39:26 +0200 Subject: [PATCH 1/2] feat(frontend): getting started banner to get credits --- .../launchpad/LaunchpadFirstSatellite.svelte | 2 +- .../launchpad/LaunchpadGettingStarted.svelte | 19 +++++++++++++++++++ .../modules/launchpad/LaunchpadHeader.svelte | 14 ++++++++------ .../src/lib/components/ui/Info.svelte | 10 ++++++++-- src/frontend/src/lib/i18n/en.json | 3 ++- src/frontend/src/lib/i18n/zh-cn.json | 3 ++- src/frontend/src/lib/types/i18n.d.ts | 1 + 7 files changed, 41 insertions(+), 11 deletions(-) create mode 100644 src/frontend/src/lib/components/modules/launchpad/LaunchpadGettingStarted.svelte diff --git a/src/frontend/src/lib/components/modules/launchpad/LaunchpadFirstSatellite.svelte b/src/frontend/src/lib/components/modules/launchpad/LaunchpadFirstSatellite.svelte index bc8690d4da..9f8c83d6a3 100644 --- a/src/frontend/src/lib/components/modules/launchpad/LaunchpadFirstSatellite.svelte +++ b/src/frontend/src/lib/components/modules/launchpad/LaunchpadFirstSatellite.svelte @@ -16,7 +16,7 @@ }; - +
diff --git a/src/frontend/src/lib/components/modules/launchpad/LaunchpadGettingStarted.svelte b/src/frontend/src/lib/components/modules/launchpad/LaunchpadGettingStarted.svelte new file mode 100644 index 0000000000..8216f86319 --- /dev/null +++ b/src/frontend/src/lib/components/modules/launchpad/LaunchpadGettingStarted.svelte @@ -0,0 +1,19 @@ + + + + {#snippet icon()} + 👋 + {/snippet} + + + + + \ No newline at end of file diff --git a/src/frontend/src/lib/components/modules/launchpad/LaunchpadHeader.svelte b/src/frontend/src/lib/components/modules/launchpad/LaunchpadHeader.svelte index 915d5e092b..548c497677 100644 --- a/src/frontend/src/lib/components/modules/launchpad/LaunchpadHeader.svelte +++ b/src/frontend/src/lib/components/modules/launchpad/LaunchpadHeader.svelte @@ -4,14 +4,15 @@ import { providerDataUi } from '$lib/derived/console/account.provider.derived'; import { onIntersection } from '$lib/directives/intersection.directives'; import { onLayoutTitleIntersection } from '$lib/stores/app/layout-intersecting.store'; + import LaunchpadGettingStarted from '$lib/components/modules/launchpad/LaunchpadGettingStarted.svelte'; interface Props { children?: Snippet; filter?: string; - withoutGreetingsReturningLabel?: boolean; + newUser?: boolean; } - let { filter = $bindable(''), children, withoutGreetingsReturningLabel }: Props = $props(); + let { filter = $bindable(''), children, newUser }: Props = $props(); const customOnIntersection = (element: HTMLElement) => onIntersection(element, { @@ -21,10 +22,11 @@
- + {#if newUser} + + {:else} + + {/if} {@render children?.()}
diff --git a/src/frontend/src/lib/components/ui/Info.svelte b/src/frontend/src/lib/components/ui/Info.svelte index 4c23848b19..a5bd2ec5b6 100644 --- a/src/frontend/src/lib/components/ui/Info.svelte +++ b/src/frontend/src/lib/components/ui/Info.svelte @@ -1,15 +1,21 @@ -

{@render children()}

+

+ {#if nonNullish(icon)}{@render icon()}{:else}{/if} {@render children()} +

\ No newline at end of file + span { + font-size: 32px; + } + diff --git a/src/frontend/src/lib/components/modules/launchpad/LaunchpadHeader.svelte b/src/frontend/src/lib/components/modules/launchpad/LaunchpadHeader.svelte index 548c497677..7b995b6e76 100644 --- a/src/frontend/src/lib/components/modules/launchpad/LaunchpadHeader.svelte +++ b/src/frontend/src/lib/components/modules/launchpad/LaunchpadHeader.svelte @@ -1,10 +1,10 @@