From eea5fb75605665adac6e382eba4189d381de6eac Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Tue, 21 Apr 2026 10:48:38 +0200 Subject: [PATCH] feat(ui): Camera-Icon im Header mit Gemini-Config- und Offline-Gate --- src/routes/+layout.server.ts | 3 ++- src/routes/+layout.svelte | 31 ++++++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/routes/+layout.server.ts b/src/routes/+layout.server.ts index 8a6d14f..4cf2e99 100644 --- a/src/routes/+layout.server.ts +++ b/src/routes/+layout.server.ts @@ -3,6 +3,7 @@ import { env } from '$env/dynamic/private'; export const load: LayoutServerLoad = () => { return { - version: env.KOCHWAS_TAG ?? 'dev' + version: env.KOCHWAS_TAG ?? 'dev', + geminiConfigured: Boolean(env.GEMINI_API_KEY) }; }; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index f460a8a..835d269 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -2,7 +2,15 @@ import { onMount } from 'svelte'; import { page } from '$app/stores'; import { goto, afterNavigate } from '$app/navigation'; - import { Settings, CookingPot, Utensils, Menu, BookOpen, ArrowLeft } from 'lucide-svelte'; + import { + Settings, + CookingPot, + Utensils, + Menu, + BookOpen, + ArrowLeft, + Camera + } from 'lucide-svelte'; import { profileStore } from '$lib/client/profile.svelte'; import { wishlistStore } from '$lib/client/wishlist.svelte'; import { pwaStore } from '$lib/client/pwa.svelte'; @@ -232,6 +240,22 @@ {/if}
+ {#if data.geminiConfigured} + { + if (!network.online) e.preventDefault(); + }} + > + + + {/if}