feat(web): unified admin nav + landing tiles include all sections
Both admin layouts (the (dashboard) one used by /admin and the (public) one used by /admin/maerkte etc.) now expose the same 9-item nav so sidebar contents stay stable when navigating across route groups. Landing tiles on /admin also list every admin surface (was missing Saisonal + Einstellungen) so admins can reach all areas from the entry point — previously Märkte verwalten and Discovery were tile-only with no sidebar entry on the landing page.
This commit is contained in:
@@ -12,10 +12,14 @@
|
||||
|
||||
const nav = [
|
||||
{ href: '/admin', label: 'Übersicht' },
|
||||
{ href: '/admin/freigaben', label: 'Freigaben' },
|
||||
{ href: '/admin/benutzer', label: 'Benutzer' },
|
||||
{ href: '/admin/maerkte', label: 'Märkte' },
|
||||
{ href: '/admin/saisonal', label: 'Saisonal' },
|
||||
{ href: '/admin/discovery', label: 'Discovery' },
|
||||
{ href: '/admin/meldungen', label: 'Meldungen' },
|
||||
{ href: '/admin/benutzer', label: 'Benutzer' },
|
||||
{ href: '/admin/freigaben', label: 'Freigaben' },
|
||||
{ href: '/admin/statistiken', label: 'Statistiken' },
|
||||
{ href: '/admin/einstellungen', label: 'Einstellungen' },
|
||||
];
|
||||
|
||||
const currentPath = $derived($page.url.pathname);
|
||||
|
||||
@@ -5,34 +5,44 @@
|
||||
|
||||
const tiles = [
|
||||
{
|
||||
href: '/admin/freigaben',
|
||||
label: 'Freigaben',
|
||||
description: 'Neue Benutzer prüfen und freigeben',
|
||||
href: '/admin/maerkte',
|
||||
label: 'Märkte verwalten',
|
||||
description: 'Markteinträge erstellen, bearbeiten, zusammenführen',
|
||||
},
|
||||
{
|
||||
href: '/admin/benutzer',
|
||||
label: 'Benutzer',
|
||||
description: 'Alle Konten verwalten und sperren',
|
||||
href: '/admin/saisonal',
|
||||
label: 'Saisonale Auswahl',
|
||||
description: 'Startseiten-Auswahl kuratieren und sortieren',
|
||||
},
|
||||
{
|
||||
href: '/admin/discovery',
|
||||
label: 'Discovery',
|
||||
description: 'Crawler-Ergebnisse prüfen und einpflegen',
|
||||
},
|
||||
{
|
||||
href: '/admin/meldungen',
|
||||
label: 'Meldungen',
|
||||
description: 'Eingereichte Marktmeldungen bearbeiten',
|
||||
},
|
||||
{
|
||||
href: '/admin/benutzer',
|
||||
label: 'Benutzer',
|
||||
description: 'Alle Konten verwalten und sperren',
|
||||
},
|
||||
{
|
||||
href: '/admin/freigaben',
|
||||
label: 'Freigaben',
|
||||
description: 'Neue Benutzer prüfen und freigeben',
|
||||
},
|
||||
{
|
||||
href: '/admin/statistiken',
|
||||
label: 'Statistiken',
|
||||
description: 'Plattform-Kennzahlen und Aktivität',
|
||||
},
|
||||
{
|
||||
href: '/admin/maerkte',
|
||||
label: 'Märkte verwalten',
|
||||
description: 'Markteinträge erstellen, bearbeiten, zusammenführen',
|
||||
},
|
||||
{
|
||||
href: '/admin/discovery',
|
||||
label: 'Discovery',
|
||||
description: 'Crawler-Ergebnisse prüfen und einpflegen',
|
||||
href: '/admin/einstellungen',
|
||||
label: 'Einstellungen',
|
||||
description: 'KI-Provider und Systemkonfiguration',
|
||||
},
|
||||
];
|
||||
</script>
|
||||
|
||||
@@ -9,9 +9,14 @@
|
||||
let { children }: Props = $props();
|
||||
|
||||
const navItems = [
|
||||
{ href: '/admin', label: 'Übersicht' },
|
||||
{ href: '/admin/maerkte', label: 'Märkte' },
|
||||
{ href: '/admin/saisonal', label: 'Saisonal' },
|
||||
{ href: '/admin/discovery', label: 'Discovery' },
|
||||
{ href: '/admin/meldungen', label: 'Meldungen' },
|
||||
{ href: '/admin/benutzer', label: 'Benutzer' },
|
||||
{ href: '/admin/freigaben', label: 'Freigaben' },
|
||||
{ href: '/admin/statistiken', label: 'Statistiken' },
|
||||
{ href: '/admin/einstellungen', label: 'Einstellungen' },
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user