diff --git a/apps/web/src/lib/components/DeckStack.svelte b/apps/web/src/lib/components/DeckStack.svelte
index 5014b4f..0251e72 100644
--- a/apps/web/src/lib/components/DeckStack.svelte
+++ b/apps/web/src/lib/components/DeckStack.svelte
@@ -5,6 +5,7 @@
import { t, tn } from '$lib/i18n/index.svelte.ts';
import CardSurface from './CardSurface.svelte';
import DeckCategoryIcon from './DeckCategoryIcon.svelte';
+ import { PencilSimple } from '@mana/shared-icons';
interface Props {
deck: Deck;
@@ -43,6 +44,16 @@
{/each}
{/if}
+ e.stopPropagation()}
+ aria-label="Deck bearbeiten"
+ title="Deck bearbeiten"
+ >
+
+
+
diff --git a/apps/web/src/lib/i18n/de.ts b/apps/web/src/lib/i18n/de.ts
index da90080..23b4cf2 100644
--- a/apps/web/src/lib/i18n/de.ts
+++ b/apps/web/src/lib/i18n/de.ts
@@ -57,6 +57,18 @@ export const de: TranslationNode = {
deck_stack: {
aria_label: 'Stapel "{name}" — {cards} Karten, {due} fällig',
},
+ deck_edit: {
+ title: 'Deck bearbeiten',
+ back: '← Zurück zum Deck',
+ name_label: 'Name',
+ description_label: 'Beschreibung (optional)',
+ color_label: 'Farbe',
+ save: 'Speichern',
+ saving: 'Speichere…',
+ cancel: 'Abbrechen',
+ save_failed: 'Speichern fehlgeschlagen: {msg}',
+ saved: 'Deck gespeichert',
+ },
deck_new: {
title: 'Neues Deck',
name_label: 'Name',
diff --git a/apps/web/src/lib/i18n/en.ts b/apps/web/src/lib/i18n/en.ts
index eb99780..f80aecd 100644
--- a/apps/web/src/lib/i18n/en.ts
+++ b/apps/web/src/lib/i18n/en.ts
@@ -54,6 +54,18 @@ export const en: TranslationNode = {
deck_stack: {
aria_label: 'Stack "{name}" — {cards} cards, {due} due',
},
+ deck_edit: {
+ title: 'Edit deck',
+ back: '← Back to deck',
+ name_label: 'Name',
+ description_label: 'Description (optional)',
+ color_label: 'Color',
+ save: 'Save',
+ saving: 'Saving…',
+ cancel: 'Cancel',
+ save_failed: 'Save failed: {msg}',
+ saved: 'Deck saved',
+ },
deck_new: {
title: 'New deck',
name_label: 'Name',
diff --git a/apps/web/src/routes/decks/[id]/edit/+page.svelte b/apps/web/src/routes/decks/[id]/edit/+page.svelte
new file mode 100644
index 0000000..ba1ee50
--- /dev/null
+++ b/apps/web/src/routes/decks/[id]/edit/+page.svelte
@@ -0,0 +1,233 @@
+
+
+{#if !loading}
+
+
{t('deck_edit.back')}
+
{t('deck_edit.title')}
+
+
+
+{/if}
+
+