diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index e5a463f..e1e042f 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -12,7 +12,10 @@
Kochwas - +
+ ⚙️ + +
@@ -51,6 +54,24 @@ text-decoration: none; color: #2b6a3d; } + .bar-right { + display: flex; + align-items: center; + gap: 0.5rem; + } + .admin-link { + display: inline-flex; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + border-radius: 999px; + text-decoration: none; + font-size: 1.15rem; + } + .admin-link:hover { + background: #f4f8f5; + } main { padding: 0 1rem 4rem; max-width: 760px; diff --git a/src/routes/admin/+layout.svelte b/src/routes/admin/+layout.svelte new file mode 100644 index 0000000..dadf18d --- /dev/null +++ b/src/routes/admin/+layout.svelte @@ -0,0 +1,58 @@ + + + + +
+ {@render children()} +
+ + diff --git a/src/routes/admin/+page.svelte b/src/routes/admin/+page.svelte new file mode 100644 index 0000000..e19d5b4 --- /dev/null +++ b/src/routes/admin/+page.svelte @@ -0,0 +1,15 @@ + + +

Weiterleitung…

+ + diff --git a/src/routes/admin/backup/+page.svelte b/src/routes/admin/backup/+page.svelte new file mode 100644 index 0000000..43809c1 --- /dev/null +++ b/src/routes/admin/backup/+page.svelte @@ -0,0 +1,78 @@ + + +

Backup

+

+ Lade ein ZIP-Archiv mit der Datenbank und allen Bildern herunter. Bewahre es an einem + sicheren Ort auf — damit sind alle Rezepte, Bewertungen, Kommentare und Kochjournal-Einträge gesichert. +

+ + + +
+

Hinweis

+

+ Die Wiederherstellung aus einem ZIP folgt in Phase 5b — fürs Erste ersetze den Inhalt + des data/-Ordners manuell. +

+
+ + diff --git a/src/routes/admin/domains/+page.svelte b/src/routes/admin/domains/+page.svelte new file mode 100644 index 0000000..c14c476 --- /dev/null +++ b/src/routes/admin/domains/+page.svelte @@ -0,0 +1,168 @@ + + +

Erlaubte Domains

+

+ Nur Rezepte von diesen Domains können importiert werden. Jeder darf pflegen. +

+ +
{ + e.preventDefault(); + void add(); + }} +> + + + +
+ +{#if errored} +

{errored}

+{/if} + +{#if loading} +

Lädt…

+{:else if domains.length === 0} +

Noch keine Domains. Füge Chefkoch, Emmi kocht einfach o.ä. hinzu.

+{:else} + +{/if} + + diff --git a/src/routes/admin/profiles/+page.svelte b/src/routes/admin/profiles/+page.svelte new file mode 100644 index 0000000..c7bacc8 --- /dev/null +++ b/src/routes/admin/profiles/+page.svelte @@ -0,0 +1,191 @@ + + +

Profile

+

+ Profile werden ohne Passwort verwendet. Beim App-Start wählt man einfach aus. +

+ +
{ + e.preventDefault(); + void add(); + }} +> + + + +
+ +{#if errored} +

{errored}

+{/if} + +{#if !profileStore.loaded} +

Lädt…

+{:else if profileStore.profiles.length === 0} +

Noch keine Profile.

+{:else} + +{/if} + +