Checkpoint: Renouvellement PC affiche un état vide pour les années sans inventaire importé (hors 2026-2027). Construction Budget affiche la valeur de renouvellement de l'année N-1 dans les données historiques (depuis les saisies CAPEX N-1 ou l'enveloppe 2026 du fichier BP2027 en fallback). Titre du formulaire dynamique selon l'année.

This commit is contained in:
Manus
2026-06-03 10:04:55 +00:00
parent 787928c722
commit 0adfcba5d2
2 changed files with 63 additions and 23 deletions

View File

@@ -45,6 +45,9 @@ export default function Home() {
} = useBudgetData();
const { annee } = useAnnee();
// Les données de parc ne sont disponibles que pour 2026 et 2027
const ANNEES_AVEC_DONNEES = [2026, 2027];
const hasDonnees = ANNEES_AVEC_DONNEES.includes(annee);
const [selectedEtab, setSelectedEtab] = useState<Etablissement | null>(null);
const [sidebarCollapsed, setSidebarCollapsed] = useState(false);
const [viewMode, setViewMode] = useState<ViewMode>('grid');
@@ -232,7 +235,20 @@ export default function Home() {
{/* Contenu — vue vignettes ou liste */}
<div className="flex-1 overflow-y-auto px-6 py-5">
{etablissements.length === 0 ? (
{!hasDonnees ? (
<div className="flex flex-col items-center justify-center py-20 text-center">
<div className="w-16 h-16 rounded-2xl bg-muted/40 flex items-center justify-center mb-4">
<Monitor className="w-8 h-8 text-muted-foreground/40" />
</div>
<p className="text-lg font-semibold text-foreground" style={{ fontFamily: 'Sora, sans-serif' }}>
Aucune donnée pour {annee}
</p>
<p className="text-sm text-muted-foreground mt-2 max-w-sm">
Les données d'inventaire parc PC pour l'exercice {annee} n'ont pas encore été importées.
Les années disponibles sont 2026 et 2027.
</p>
</div>
) : etablissements.length === 0 ? (
<div className="flex flex-col items-center justify-center py-16 text-center">
<CheckCircle className="w-12 h-12 text-muted-foreground/30 mb-3" />
<p className="text-muted-foreground font-medium">Aucun établissement trouvé</p>