Amélioration pour nouveau connecté
This commit is contained in:
@@ -483,6 +483,18 @@ export default function Dashboard() {
|
|||||||
<EmptyState />
|
<EmptyState />
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
if (platLoaded && data.portfolio.nb_projets === 0) return (
|
||||||
|
<>
|
||||||
|
<div className="topbar"><h2>Tableau de bord</h2></div>
|
||||||
|
<EmptyState
|
||||||
|
icon="📊"
|
||||||
|
title="Aucun investissement pour le moment"
|
||||||
|
message="Vos plateformes sont configurées, mais aucun investissement n'y a encore été ajouté. Ajoutez un investissement pour voir apparaître les données de votre tableau de bord."
|
||||||
|
cta="Ajouter un investissement"
|
||||||
|
to="/investissements?new=1"
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
|
||||||
const { cash, cashByPlatform, portfolio, interets, interetsParAnnee } = data;
|
const { cash, cashByPlatform, portfolio, interets, interetsParAnnee } = data;
|
||||||
const viewTitle = activeView === 'all'
|
const viewTitle = activeView === 'all'
|
||||||
|
|||||||
@@ -889,6 +889,18 @@ export default function DepotsRetraits() {
|
|||||||
<EmptyState />
|
<EmptyState />
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
if (!loading && !modalOpen && allRows.length === 0) return (
|
||||||
|
<>
|
||||||
|
<div className="topbar"><h2>Dépôts / Retraits</h2></div>
|
||||||
|
<EmptyState
|
||||||
|
icon="💶"
|
||||||
|
title="Aucun dépôt enregistré"
|
||||||
|
message="Vos plateformes sont configurées, mais aucun dépôt n'a encore été enregistré. Ajoutez un dépôt pour commencer à suivre votre solde."
|
||||||
|
cta="Ajouter un dépôt"
|
||||||
|
to="/depots-retraits?new=1"
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
);
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="topbar">
|
<div className="topbar">
|
||||||
|
|||||||
@@ -779,6 +779,18 @@ export default function Investissements() {
|
|||||||
<EmptyState />
|
<EmptyState />
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
if (!loading && !modalOpen && allRows.length === 0) return (
|
||||||
|
<>
|
||||||
|
<div className="topbar"><h2>Investissements</h2></div>
|
||||||
|
<EmptyState
|
||||||
|
icon="📊"
|
||||||
|
title="Aucun investissement pour le moment"
|
||||||
|
message="Vos plateformes sont configurées, mais aucun investissement n'y a encore été ajouté. Ajoutez votre premier investissement pour commencer le suivi."
|
||||||
|
cta="Ajouter un investissement"
|
||||||
|
to="/investissements?new=1"
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
);
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="topbar">
|
<div className="topbar">
|
||||||
|
|||||||
@@ -597,7 +597,7 @@ export default function Plateformes() {
|
|||||||
const netMode = displayMode === 'net';
|
const netMode = displayMode === 'net';
|
||||||
const prevYearLabel = selectedYear ? Number(selectedYear) - 1 : new Date().getFullYear() - 1;
|
const prevYearLabel = selectedYear ? Number(selectedYear) - 1 : new Date().getFullYear() - 1;
|
||||||
|
|
||||||
if (!loading && platOptions.length === 0) {
|
if (!loading && plats.length === 0) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="topbar">
|
<div className="topbar">
|
||||||
@@ -608,6 +608,23 @@ export default function Plateformes() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!loading && platOptions.length === 0) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="topbar">
|
||||||
|
<h2><PageIcon name="plateforme" />Plateformes</h2>
|
||||||
|
</div>
|
||||||
|
<EmptyState
|
||||||
|
icon="📊"
|
||||||
|
title="Aucun investissement pour le moment"
|
||||||
|
message="Vos plateformes sont configurées, mais aucun investissement n'y a encore été ajouté. Ajoutez un investissement pour voir apparaître les données de vos plateformes."
|
||||||
|
cta="Ajouter un investissement"
|
||||||
|
to="/investissements?new=1"
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="topbar">
|
<div className="topbar">
|
||||||
|
|||||||
@@ -768,6 +768,18 @@ export default function Remboursements() {
|
|||||||
<EmptyState />
|
<EmptyState />
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
if (platLoaded && !loading && !modalOpen && allRows.length === 0) return (
|
||||||
|
<>
|
||||||
|
<div className="topbar"><h2>Remboursements</h2></div>
|
||||||
|
<EmptyState
|
||||||
|
icon="📋"
|
||||||
|
title="Aucun remboursement pour le moment"
|
||||||
|
message="Vos plateformes sont configurées, mais aucun remboursement n'a encore été enregistré. Ajoutez un remboursement pour voir apparaître vos données."
|
||||||
|
cta="Ajouter un remboursement"
|
||||||
|
to="/remboursements?new=1"
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
);
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="topbar">
|
<div className="topbar">
|
||||||
|
|||||||
@@ -156,6 +156,12 @@ export default function TaxReport() {
|
|||||||
const [activeTab, setActiveTab] = useState('2042');
|
const [activeTab, setActiveTab] = useState('2042');
|
||||||
const [detailExpanded, setDetailExpanded] = useState(false);
|
const [detailExpanded, setDetailExpanded] = useState(false);
|
||||||
const [cerfaExpanded, setCerfaExpanded] = useState(false);
|
const [cerfaExpanded, setCerfaExpanded] = useState(false);
|
||||||
|
const [hasPlateformes, setHasPlateformes] = useState(true); // true par défaut pour éviter un flash du mauvais message
|
||||||
|
|
||||||
|
/* ── Plateformes configurées ? (pour distinguer "pas de plateforme" de "pas encore de données") ── */
|
||||||
|
useEffect(() => {
|
||||||
|
api.get('/plateformes').then(p => setHasPlateformes((p || []).length > 0)).catch(() => {});
|
||||||
|
}, []);
|
||||||
|
|
||||||
/* ── Chargement des années disponibles ── */
|
/* ── Chargement des années disponibles ── */
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -253,11 +259,21 @@ export default function TaxReport() {
|
|||||||
if (!loading && data && availableYears.length === 0) return (
|
if (!loading && data && availableYears.length === 0) return (
|
||||||
<>
|
<>
|
||||||
<div className="topbar"><h2>Fiscalité</h2></div>
|
<div className="topbar"><h2>Fiscalité</h2></div>
|
||||||
|
{hasPlateformes ? (
|
||||||
|
<EmptyState
|
||||||
|
icon="📋"
|
||||||
|
title="Aucune donnée fiscale pour le moment"
|
||||||
|
message="Vos plateformes sont configurées, mais aucun remboursement n'a encore été enregistré. Ajoutez un remboursement pour voir apparaître votre récapitulatif fiscal."
|
||||||
|
cta="Ajouter un remboursement"
|
||||||
|
to="/remboursements?new=1"
|
||||||
|
/>
|
||||||
|
) : (
|
||||||
<EmptyState
|
<EmptyState
|
||||||
icon="📋"
|
icon="📋"
|
||||||
title="Aucune donnée fiscale disponible"
|
title="Aucune donnée fiscale disponible"
|
||||||
message="Vous n'avez pas encore de données fiscales à déclarer. Ajoutez des plateformes et des remboursements pour voir apparaître votre récapitulatif fiscal."
|
message="Vous n'avez pas encore de données fiscales à déclarer. Ajoutez des plateformes et des remboursements pour voir apparaître votre récapitulatif fiscal."
|
||||||
/>
|
/>
|
||||||
|
)}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
return (
|
return (
|
||||||
|
|||||||
Reference in New Issue
Block a user