diff --git a/src/components/balance/BalanceAccountsTable.tsx b/src/components/balance/BalanceAccountsTable.tsx
index ef93e42..c36585a 100644
--- a/src/components/balance/BalanceAccountsTable.tsx
+++ b/src/components/balance/BalanceAccountsTable.tsx
@@ -28,6 +28,7 @@ import {
AlertTriangle,
ChevronDown,
ChevronRight,
+ ListTree,
} from "lucide-react";
import type {
AccountLatestSnapshot,
@@ -86,6 +87,12 @@ interface BalanceAccountsTableProps {
periodAnchor: AccountPeriodAnchor[];
onArchiveAccount?: (account: AccountLatestSnapshot) => void;
onLinkTransfers?: (account: AccountLatestSnapshot) => void;
+ /**
+ * Open the "détailler en titres" wizard for a *simple* account (Issue #215).
+ * The action is only offered on `kind === 'simple'` rows; once detailed, the
+ * flip is one-way (service backstop #212) so no inverse action is exposed.
+ */
+ onDetailAccount?: (account: AccountLatestSnapshot) => void;
/**
* Earliest snapshot date across the whole profile, used to anchor the
* "depuis création" horizon. Falls back to "1A" range if not provided
@@ -116,6 +123,7 @@ export default function BalanceAccountsTable({
periodAnchor,
onArchiveAccount,
onLinkTransfers,
+ onDetailAccount,
sinceCreationDate,
latentGainByAccount = {},
latentGainRollup,
@@ -555,14 +563,19 @@ export default function BalanceAccountsTable({
{openMenuFor === acc.account_id && (
-
+ {onDetailAccount && acc.kind === "simple" && (
+
+ )}
{onLinkTransfers && (
@@ -348,6 +354,17 @@ export default function BalancePage() {
}}
/>
)}
+
+ {detailTarget && (
+ setDetailTarget(null)}
+ onDetailed={() => {
+ void reload();
+ }}
+ />
+ )}
);
}