Make the overview answer the year-by-year question

The dashboard now leads with a typographic headline, three key
figures, per-parent age-4 bars and one row per year until the fourth
birthday. Each year row shows the timeline bands beside each parent's
parental-leave days left at year end and vacation days left, carried
over or expiring, and opens into a per-parent table with that year's
wish outcomes. Tips become a plain list and absorb the planner's
surplus advice; "Detaljer" keeps the metrics and a balance snapshot
for every parent. The separate plan-proposal fold and the
type-count table are gone.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XBRLomdLK9jF7wU7a8AA6H
This commit is contained in:
2026-09-20 06:30:46 +02:00
parent 4b802ba0be
commit 80b4f1cb52
30 changed files with 2444 additions and 3477 deletions
+36 -25
View File
@@ -2,44 +2,55 @@ export const dashboard = {
'age4Bars.expiringStat': '{expiring} dagar förfaller',
'age4Bars.savableStat': '{left} av {cap} dagar kan sparas',
'age4Bars.title': 'Dagar kvar vid 4 års ålder, per förälder',
'dashboard.balancePickerPrompt': 'Vem gäller det?',
'dashboard.balanceLink': 'Uppdatera saldon',
'dashboard.daysLeft': 'Kvarvarande dagar',
'dashboard.enterManually': 'Ange uppgifter manuellt',
'dashboard.estimatedBadge': 'Uppskattat',
'dashboard.estimatedBadgeCaption': 'Inga verkliga saldon är hämtade än — siffrorna bygger på det lagstadgade antagandet (480 dagar, inget uttaget). Hämta från Försäkringskassan eller ange uppgifter manuellt för exakta siffror.',
'dashboard.estimatedBadgeCaption': 'Inga verkliga saldon är hämtade än — siffrorna utgår från 480 dagar, inget uttaget. Uppdatera saldon under Inställningar.',
'dashboard.expiringAtB4': 'Förfaller vid 4 år om nuvarande plan följs (alla föräldrar)',
'dashboard.expiringAtB4ForParent': 'Förfaller vid 4 år om nuvarande plan följs – {name}',
'dashboard.expiringAtB4ParentFallback': 'Förälder {number}',
// Still referenced by `Onboarding.tsx`'s balances step; the balance flow
// is moving to a `balance.*` namespace — drop this key once nothing else
// reads it.
'dashboard.fetchFromFk': 'Hämta från Försäkringskassan',
'dashboard.figureExpiring': 'Förfaller vid 4 år',
'dashboard.figureLeft': 'Dagar kvar',
'dashboard.figureUsed': 'Använda',
'dashboard.hero.hasPlanMessage': '{atRisk} dagar riskerar att försvinna när {childName} fyller 4 ({date}).',
'dashboard.hero.noneAtRiskMessage': 'Inga dagar går förlorade — er plan hinner använda alla innan {childName} fyller 4 ({date}).',
'dashboard.hero.noPlanMessage': 'Du har {days} dagar att planera. Utan en plan försvinner {atRisk} av dem när {childName} fyller 4.',
'dashboard.loading': 'Laddar...',
'dashboard.moreDetailsSummary': 'Fler detaljer',
'dashboard.leaveOverviewTitle': 'Fram till 4 år',
'dashboard.moreDetailsSummary': 'Detaljer',
'dashboard.overviewTitle': 'Översikt',
'dashboard.planFold.noWishesHint': 'Lägg till önskemål under Kalender för att se ett förslag här.',
'dashboard.planFold.summary': 'Planförslag för de kommande åren',
'dashboard.planFold.unknownParent': 'Okänd förälder',
'dashboard.plannedDaysTitle': 'Planerade dagar',
'dashboard.saveManualFetchError': 'Kunde inte spara uppgifterna',
'dashboard.usedDays': 'Använda dagar',
'daysBreakdown.daysHeader': 'Dagar',
'daysBreakdown.empty': 'Inga dagar registrerade än',
'daysBreakdown.typeHeader': 'Typ av ledighet',
'overviewMetrics.defaultTitle': 'Översikt',
'parentalLeaveBreakdown.dubbeldagarLeft': 'Dubbeldagar kvar',
'parentalLeaveBreakdown.empty': 'Ingen data hämtad ännu — tryck på Hämta från Försäkringskassan.',
'parentalLeaveBreakdown.lagstaNiva': 'Lägsta nivå',
'parentalLeaveBreakdown.remainingHeader': 'Återstående',
'parentalLeaveBreakdown.reservedNote': '{reserved} av dina dagar är reserverade och kan inte överlåtas till den andra föräldern (max {transferable} dagar kan överlåtas).',
'parentalLeaveBreakdown.sjukpenning': 'Sjukpenning',
'parentalLeaveBreakdown.empty': 'Inga saldon hämtade än.',
'parentalLeaveBreakdown.lagstaNiva': 'Lägstanivå',
'parentalLeaveBreakdown.leftOfTotal': '{left} av {total}',
'parentalLeaveBreakdown.noBalance': 'Inget saldo än',
'parentalLeaveBreakdown.reservedNote': '{reserved} av varje förälders dagar är reserverade och kan inte överlåtas till den andra föräldern (max {transferable} dagar kan överlåtas).',
'parentalLeaveBreakdown.sjukpenning': 'Sjukpenningnivå',
'parentalLeaveBreakdown.sourceManual': 'Manuellt angiven',
'parentalLeaveBreakdown.sourceScraped': 'Hämtad från Försäkringskassan',
'parentalLeaveBreakdown.totalHeader': 'Totalt',
'parentalLeaveBreakdown.transferableDays': 'Överlåtbara dagar',
'parentalLeaveBreakdown.typeHeader': 'Typ',
'yearTimeline.bandLabel': '{dayType}, {startDate} – {endDate} ({dayCount} dagar). Klicka för att öppna denna månad i kalendern.',
'yearTimeline.bandLabelOneDay': '{dayType}, {startDate} – {endDate} (1 dag). Klicka för att öppna denna månad i kalendern.',
'yearTimeline.caption': 'Varje rad är ett år och varje färgad stapel en planerad ledighetsperiod. Klicka på en stapel för att öppna den månaden i kalendern.',
'yearTimeline.title': 'De kommande åren',
} as const
'yearRow.assumed': 'antaget',
'yearRow.bandLabel': '{dayType}, {startDate} – {endDate} ({dayCount} dagar). Klicka för att öppna i kalendern.',
'yearRow.bandLabelOneDay': '{dayType}, {startDate} – {endDate} (1 dag). Klicka för att öppna i kalendern.',
'yearRow.carriedIn': 'Sparade in',
'yearRow.carriedOut': 'sparas {days}',
'yearRow.carriedOutRow': 'Sparas till nästa år',
'yearRow.earned': 'Intjänade',
'yearRow.expiring': 'förfaller {days}',
'yearRow.expiringRow': 'Förfaller',
'yearRow.fpLeft': 'FP kvar',
'yearRow.left': 'Kvar',
'yearRow.leftAtYearEnd': 'Kvar vid årets slut',
'yearRow.parentalLeaveTitle': 'Föräldrapenning',
'yearRow.plannedUse': 'Planerade',
'yearRow.usedThisYear': 'Använda i år',
'yearRow.vacationLeft': 'Semester kvar',
'yearRow.vacationTitle': 'Semester',
'yearRow.weeksFunded': '{funded} av {wished} veckor',
'yearRow.wishesTitle': 'Ledigheter',
} as const