Files
Mangarr/assets/vue/app/domain/system/presentation/components/SystemInfoCard.vue
ext.jeremy.guillot@maxicoffee.domains ca8791cc0d 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
2026-03-17 22:04:48 +01:00

33 lines
1.0 KiB
Vue

<template>
<StatusCard title="Informations système" :icon="ServerIcon">
<dl class="space-y-2">
<div class="flex justify-between text-sm">
<dt class="text-gray-500">Version PHP</dt>
<dd class="font-medium text-gray-900 dark:text-white">{{ status.phpVersion }}</dd>
</div>
<div class="flex justify-between text-sm">
<dt class="text-gray-500">Généré le</dt>
<dd class="font-medium text-gray-900 dark:text-white">{{ formattedDate }}</dd>
</div>
</dl>
</StatusCard>
</template>
<script setup>
import { computed } from 'vue';
import { ServerIcon } from '@heroicons/vue/24/outline';
import StatusCard from './StatusCard.vue';
const props = defineProps({
status: {
type: Object,
required: true,
},
});
const formattedDate = computed(() => {
if (!props.status.generatedAt) return '';
return new Date(props.status.generatedAt).toLocaleString('fr-FR');
});
</script>