Skip to main content

BudgetIncomeRow / BudgetAllocRow

Deux composants de ligne éditable pour le plan budgétaire. Chaque ligne combine un champ libellé, un champ montant, un indicateur de sauvegarde et un bouton de suppression.

Source : src/components/ui/budget-row.tsx

BudgetIncomeRow

Ligne pour une source de revenu (IncomeType).

<BudgetIncomeRow
budgetPlanId="plan-id"
id="income-id"
label="Salaire net"
type="SALARY"
expectedMonthly={3480}
onSaved={(id) => {}}
onDeleted={() => {}}
onUpdate={(label, amount) => {}}
/>

Props

PropTypeDescription
budgetPlanIdstringID du plan parent — requis pour persister
idstring?ID de la ligne (absent si nouvellement créée)
labelstringLibellé initial
typeIncomeTypeSALARY | FREELANCE | REIMBURSEMENT | INVESTMENT | OTHER
expectedMonthlynumberMontant mensuel attendu
onSaved(id: string) => voidAppelé après persistance — fournit l'ID réel
onDeleted() => voidAppelé après suppression
onUpdate(label, amount) => voidAppelé à chaque frappe (pour màj du total parent)

BudgetAllocRow

Ligne pour une allocation (AllocationType), avec badge de type coloré.

<BudgetAllocRow
budgetPlanId="plan-id"
label="Loyer"
type="FIXED_EXPENSE"
targetAmount={950}
onSaved={(id) => {}}
onDeleted={() => {}}
onUpdate={(label, amount) => {}}
/>

Badges de type

TypeLibelléCouleur
FIXED_EXPENSEFixeRouge
VARIABLE_EXPENSEVariableOrange
SAVINGSÉpargneVert
INVESTMENTInvest.Vert

Sauvegarde auto-déclenchée

La sauvegarde est déclenchée 800 ms après la dernière frappe (debounce). L'indicateur de statut affiche :

  • Spinner pendant l'enregistrement
  • Coche verte pendant 2 s après succès

Voir aussi