Files
librodrome/app/pages/admin/index.vue
Yvv 9caf11c8ab
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Restructuration sections, contenu administrable, shadoks, palette été
- Structure par section : /numerique, /economique, /citoyenne (plus de /gestation)
- Chaque section a index + sous-pages avec contenu YAML administrable
- API content supporte les chemins imbriqués ([...path])
- Admin : liste des pages + éditeur par section
- Page /economique : monnaie libre (picto Ğ1), modèle éco, productions collectives, commande livre
- Page /citoyenne : decision (CTA Glibredecision), tarifs-eau (CTA SejeteralO)
- BookActions : composant partagé (player, PDF, chapitres, commande) sur home, eco et modele-eco
- GrateWizard remonté dans la section économique de la home
- Palette été par défaut, choix persisté en localStorage
- Fix lisibilité été (text-white/65 + variables CSS)
- Shadoks thématiques sur toutes les pages (8-10 par page, métiers variés)
- Redirections 301 : /gestation/*, /modele-eco/*, /decision, /lire/*
- README, CONTRIBUTING, CLAUDE.md mis à jour

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 16:13:46 +01:00

67 lines
2.2 KiB
Vue

<template>
<div>
<h1 class="font-display text-2xl font-bold text-white mb-6">Dashboard</h1>
<div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-3">
<NuxtLink to="/admin/site" class="dash-card">
<div class="i-lucide-globe h-8 w-8 text-primary mb-2" />
<h2 class="text-lg font-semibold text-white">Site</h2>
<p class="text-sm text-white/50">Identité, navigation, footer</p>
</NuxtLink>
<NuxtLink to="/admin/pages" class="dash-card">
<div class="i-lucide-file-text h-8 w-8 text-primary mb-2" />
<h2 class="text-lg font-semibold text-white">Pages</h2>
<p class="text-sm text-white/50">Contenus des pages publiques</p>
</NuxtLink>
<NuxtLink to="/admin/book" class="dash-card">
<div class="i-lucide-book-open h-8 w-8 text-primary mb-2" />
<h2 class="text-lg font-semibold text-white">Chapitres</h2>
<p class="text-sm text-white/50">Éditer le contenu du livre</p>
</NuxtLink>
<NuxtLink to="/admin/songs" class="dash-card">
<div class="i-lucide-music h-8 w-8 text-accent mb-2" />
<h2 class="text-lg font-semibold text-white">Chansons</h2>
<p class="text-sm text-white/50">Métadonnées des pistes</p>
</NuxtLink>
<NuxtLink to="/admin/messages" class="dash-card">
<div class="i-lucide-message-square h-8 w-8 text-accent mb-2" />
<h2 class="text-lg font-semibold text-white">Messages</h2>
<p class="text-sm text-white/50">Modération des messages visiteurs</p>
</NuxtLink>
<NuxtLink to="/admin/media" class="dash-card">
<div class="i-lucide-image h-8 w-8 text-accent mb-2" />
<h2 class="text-lg font-semibold text-white">Médias</h2>
<p class="text-sm text-white/50">Images, audio, PDF</p>
</NuxtLink>
</div>
</div>
</template>
<script setup lang="ts">
definePageMeta({
layout: 'admin',
middleware: 'admin',
})
</script>
<style scoped>
.dash-card {
padding: 1.5rem;
border-radius: 0.75rem;
border: 1px solid hsl(20 8% 14%);
background: hsl(20 8% 6%);
text-decoration: none;
transition: all 0.2s;
}
.dash-card:hover {
border-color: hsl(12 76% 48% / 0.3);
background: hsl(20 8% 8%);
}
</style>