feat(system): page Status avec endpoint API Platform et composants Vue
- Nouveau domaine System/Domain/Model/SystemStatus (value object) - QueryHandler agrégeant métriques mangas, chapitres, jobs (global/24h/7j), stockage et sources - Endpoint GET /api/system/status via API Platform (singleton) - Calcul de l'espace disque par RecursiveDirectoryIterator sur public/images - Page Vue /system/status avec 6 cards (Mangas, Chapitres, Jobs, Stockage, Sources, Système) - Nettoyage du router : suppression des PlaceholderComponent et routes placeholder - Sidebar : suppression des entrées sans page réelle
This commit is contained in:
parent
c2b55e9018
commit
ca8791cc0d
@@ -11,24 +11,9 @@ import ScrapperConfigurations from '../domain/setting/presentation/pages/Scrappe
|
||||
import ScrapperEdit from '../domain/setting/presentation/pages/ScrapperEdit.vue';
|
||||
import UserPreferencesPage from '../domain/setting/presentation/pages/UserPreferencesPage.vue';
|
||||
import LogsPage from '../domain/system/presentation/pages/LogsPage.vue';
|
||||
import StatusPage from '../domain/system/presentation/pages/StatusPage.vue';
|
||||
import Layout from '../shared/components/layout/Layout.vue';
|
||||
|
||||
// Placeholder component for new routes
|
||||
const PlaceholderComponent = {
|
||||
props: {
|
||||
title: {
|
||||
type: String,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
template: `
|
||||
<div class="container mx-auto px-4 py-8">
|
||||
<h1 class="text-2xl font-bold mb-4">{{ title }}</h1>
|
||||
<p class="text-gray-600">Cette fonctionnalité sera bientôt disponible.</p>
|
||||
</div>
|
||||
`
|
||||
};
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '/',
|
||||
@@ -66,13 +51,6 @@ const routes = [
|
||||
name: 'import',
|
||||
component: NewImportPage
|
||||
},
|
||||
// Pages placeholder avec chargement différé
|
||||
{
|
||||
path: '/manga/import',
|
||||
name: 'manga-import',
|
||||
component: PlaceholderComponent,
|
||||
props: { title: 'Import de bibliothèque' }
|
||||
},
|
||||
{
|
||||
path: '/manga/discover',
|
||||
name: 'discover',
|
||||
@@ -91,21 +69,7 @@ const routes = [
|
||||
// Paramètres
|
||||
{
|
||||
path: '/settings',
|
||||
name: 'settings',
|
||||
component: PlaceholderComponent,
|
||||
props: { title: 'Paramètres' }
|
||||
},
|
||||
{
|
||||
path: '/settings/general',
|
||||
name: 'settings-general',
|
||||
component: PlaceholderComponent,
|
||||
props: { title: 'Paramètres généraux' }
|
||||
},
|
||||
{
|
||||
path: '/settings/folders',
|
||||
name: 'settings-folders',
|
||||
component: PlaceholderComponent,
|
||||
props: { title: 'Gestion des dossiers' }
|
||||
redirect: '/settings/scrappers',
|
||||
},
|
||||
{
|
||||
path: '/settings/scrappers',
|
||||
@@ -130,33 +94,18 @@ const routes = [
|
||||
// Système
|
||||
{
|
||||
path: '/system',
|
||||
name: 'system',
|
||||
component: PlaceholderComponent,
|
||||
props: { title: 'Système' }
|
||||
redirect: '/system/status',
|
||||
},
|
||||
{
|
||||
path: '/system/status',
|
||||
name: 'system-status',
|
||||
component: PlaceholderComponent,
|
||||
props: { title: 'Status du système' }
|
||||
},
|
||||
{
|
||||
path: '/system/backup',
|
||||
name: 'system-backup',
|
||||
component: PlaceholderComponent,
|
||||
props: { title: 'Sauvegarde' }
|
||||
component: StatusPage,
|
||||
},
|
||||
{
|
||||
path: '/system/logs',
|
||||
name: 'system-logs',
|
||||
component: LogsPage,
|
||||
},
|
||||
{
|
||||
path: '/system/updates',
|
||||
name: 'system-updates',
|
||||
component: PlaceholderComponent,
|
||||
props: { title: 'Mises à jour' }
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user