diff --git a/public/pages/notes.js b/public/pages/notes.js index 89599bc..20e6952 100644 --- a/public/pages/notes.js +++ b/public/pages/notes.js @@ -86,7 +86,7 @@ function renderGrid() { if (!state.notes.length) { grid.innerHTML = ` -
+
Noch keine Notizen
Klicke auf „Neue Notiz" um loszulegen.
diff --git a/public/styles/layout.css b/public/styles/layout.css index def2b7e..37b576f 100644 --- a/public/styles/layout.css +++ b/public/styles/layout.css @@ -178,10 +178,11 @@ } /* -------------------------------------------------------- - * Page FAB — Schwebender Erstellen-Button (nur Mobile/Tablet) + * Page FAB — Schwebender Erstellen-Button (alle Breakpoints) * - * Einheitlicher FAB auf Unterseiten. Auf Desktop versteckt, - * da der Toolbar-Button dort gut erreichbar ist. + * Einheitlicher runder Plus-Button auf allen Unterseiten. + * Mobile: über der Bottom-Nav. Desktop: unten rechts im Content. + * Toolbar-"Neu"-Buttons werden überall versteckt. * -------------------------------------------------------- */ .page-fab { position: fixed; @@ -211,22 +212,23 @@ transform: scale(0.92); } -/* Auf Desktop: FAB verstecken, Toolbar-Button reicht */ +/* Desktop: FAB Position anpassen (keine Bottom-Nav) und etwas kleiner */ @media (min-width: 1024px) { .page-fab { - display: none; + bottom: var(--space-8); + right: var(--space-8); + width: 48px; + height: 48px; } } -/* Auf Mobile: Toolbar-"Neu"-Buttons verstecken, FAB übernimmt */ -@media (max-width: 1023px) { - #btn-new-task, - #notes-add-btn, - #contacts-add-btn, - #budget-add, - #cal-add { - display: none !important; - } +/* Toolbar-"Neu"-Buttons überall verstecken — FAB übernimmt */ +#btn-new-task, +#notes-add-btn, +#contacts-add-btn, +#budget-add, +#cal-add { + display: none !important; } /* ================================================================ diff --git a/public/styles/notes.css b/public/styles/notes.css index 7ba3a4c..bc9ea4a 100644 --- a/public/styles/notes.css +++ b/public/styles/notes.css @@ -202,8 +202,8 @@ justify-content: center; padding: var(--space-12) var(--space-6); text-align: center; - flex: 1; color: var(--color-text-secondary); + column-span: all; /* Multicolumn: volle Breite */ } .notes-empty__icon { diff --git a/public/sw.js b/public/sw.js index b80d983..fe21c78 100644 --- a/public/sw.js +++ b/public/sw.js @@ -12,9 +12,9 @@ * API: Immer Netzwerk (kein Caching von Nutzerdaten) */ -const SHELL_CACHE = 'oikos-shell-v14'; -const PAGES_CACHE = 'oikos-pages-v14'; -const ASSETS_CACHE = 'oikos-assets-v14'; +const SHELL_CACHE = 'oikos-shell-v15'; +const PAGES_CACHE = 'oikos-pages-v15'; +const ASSETS_CACHE = 'oikos-assets-v15'; const ALL_CACHES = [SHELL_CACHE, PAGES_CACHE, ASSETS_CACHE]; // App-Shell: sofort benötigt für ersten Render