Frontend: App shell, navigation, routing, and design tokens #32

Merged
marcel merged 19 commits from feat/issue-16-design-system into master 2026-04-02 14:14:17 +02:00
12 changed files with 44 additions and 1 deletions
Showing only changes of commit 9626bde694 - Show all commits

View File

@@ -4,7 +4,7 @@
import TabletNavBar from './TabletNavBar.svelte';
import DesktopSidebar from './DesktopSidebar.svelte';
let { appName, householdName, children }: { appName: string; householdName: string; children: Snippet } = $props();
let { appName, householdName, children }: { appName: string; householdName: string; children?: Snippet } = $props();
</script>
<div class="flex min-h-screen bg-[var(--color-page)]">

View File

@@ -0,0 +1,8 @@
import type { LayoutServerLoad } from './$types';
export const load: LayoutServerLoad = async ({ locals }) => {
return {
benutzer: locals.benutzer!,
haushalt: locals.haushalt!
};
};

View File

@@ -0,0 +1,9 @@
<script lang="ts">
import AppShell from '$lib/nav/AppShell.svelte';
let { data, children } = $props();
</script>
<AppShell appName="Mealprep" householdName={data.haushalt.name}>
{@render children()}
</AppShell>

View File

@@ -0,0 +1 @@
<h1 class="text-2xl font-medium p-6">Mitglieder</h1>

View File

@@ -0,0 +1 @@
<h1 class="text-2xl font-medium p-6">Planer</h1>

View File

@@ -0,0 +1 @@
<h1 class="text-2xl font-medium p-6">Rezepte</h1>

View File

@@ -0,0 +1 @@
<h1 class="text-2xl font-medium p-6">Einstellungen</h1>

View File

@@ -0,0 +1 @@
<h1 class="text-2xl font-medium p-6">Einkaufsliste</h1>

View File

@@ -0,0 +1,12 @@
<script>
let { children } = $props();
</script>
<div class="flex min-h-screen">
<div class="hidden md:flex md:w-1/2 bg-[var(--green)] items-center justify-center">
<span class="font-[var(--font-display)] text-4xl text-white font-medium">Mealprep</span>
</div>
<div class="flex-1 flex items-center justify-center p-6">
{@render children()}
</div>
</div>

View File

@@ -0,0 +1,2 @@
<h1 class="text-2xl font-medium">Anmelden</h1>
<p class="text-[var(--color-text-muted)] mt-2">Login-Formular folgt.</p>

View File

@@ -0,0 +1,6 @@
import { redirect } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';
export const load: PageServerLoad = async () => {
redirect(302, '/planner');
};

View File

@@ -0,0 +1 @@
<p>Weiterleitung...</p>