# Changelog ## [Niet vrijgegeven] ### Opgelost - Het laatste label op de x-as viel over zijn buurman heen (`mei '26` en `26` over elkaar). De stap werd vanaf het begin van de reeks geteld en het laatste punt werd daar los bovenop geforceerd, zodat het op willekeurige afstand van zijn voorganger landde — bij een reeks die niet toevallig op een veelvoud uitkwam, pal ernaast. De stap telt nu terug vanaf het laatste punt: dat valt daarmee per definitie op een stap en houdt volle tussenruimte, zonder dat er nog een uitzondering voor nodig is - De breedte waarop de grafiek rekent ging van 46 naar 54px per label, zodat er lucht tussen staat in plaats van kop-aan-kop. Over reekslengtes van 13 tot 120 punten blijft de tussenruimte nu minimaal 57px ## [1.0.9] - 2026-09-17 ### Gewijzigd - De x-as van beide grafieken toont korte maandlabels (`sep '26`) in plaats van een volledige datum bij elk punt, en ze staan rechtop in plaats van 45 graden gedraaid. Tien tekens gedraaid kosten zo'n 45px en er passen er maar een stuk of veertien op de tekenbreedte; bij een langere reeks liepen ze door elkaar heen tot één grijze band. De grafiek rekent nu uit hoeveel labels er passen en toont elke n-de, met het laatste punt er altijd bij — groeit je reeks, dan dunt hij vanzelf verder uit - Doordat de labels niet meer gedraaid zijn is de ruimte eronder kleiner: `pb` van 52 naar 30 op het dashboard en van 62 naar 34 op Voortgang. Die hoogte gaat naar de lijn zelf - Nieuwe formatter `fmtMaand` in `utils/format.js`, naast `fmtDatum` - De lijnen in de Voortgang-grafieken zijn vloeiend, net als op het dashboard. Ze werden met `` als rechte segmenten getekend; nu met dezelfde Catmull-Rom afronding. De gradient eronder is daarmee ook een `` in plaats van een `` - `crPath` stond als lokale functie in `DashboardTab.jsx` en is verhuisd naar `utils/grafiek.js`, samen met `vlakPad` voor de vulling onder een lijn. Twee grafieken die dezelfde curve horen te tekenen moeten niet elk hun eigen kopie hebben. In dat bestand staat ook waaróm de inleglijn bewust géén afronding krijgt: een spline schiet tussen twee punten iets buiten hun bereik, en bij een reeks die nooit terugloopt tekent dat een daling die er niet is ### Opgelost - De tooltip van de Voortgang-grafiek toonde alleen een bedrag. Nu de x-as geen dagen meer noemt was dat de enige plek waar de exacte datum nog te lezen was, en die stond er niet in. De tooltip heeft er een datumregel bij ## [1.0.8] - 2026-09-15 ### Toegevoegd - **Kleurthema's.** Negen paletten in `frontend/src/constants/themas.js`, te kiezen onder Instellingen naast de dark-mode schakelaar. Thema en licht/donker staan los van elkaar: het thema levert het accent, de schakelaar de ondergrond. Dat scheelt een compleet tweede palet per thema en laat de bestaande schakelaar doen wat hij deed - `useTheme(themaId, darkMode)` leidt randen, invoervelden en schaduwen af uit het accent van het thema, dus die kleuren vanzelf mee. Nieuwe sleutels op `T`: `accent`, `accentLicht`, `accentTekst`, `accentGradient`, `chartVan`, `chartTot`, `darkMode`, `themaId` en `themaNaam`. De bestaande sleutels houden hun naam en betekenis, zodat er niets hoeft te wijzigen dat ze al gebruikt - Het accent dat tekst draagt is per ondergrond een andere stap van dezelfde kleur — de lichte op donker, de donkere op licht. Eén stap voor beide modi haalt aan één kant altijd te weinig contrast ### Opgelost - De weergavevoorkeuren overleven een herlaad. `darkMode` stond op `useState(true)` en werd nergens bewaard: zette je de app op licht en laadde je opnieuw, dan stond je weer in het donker. Thema en modus gaan nu naar localStorage, net als de kolombreedtes. Ze staan los van je financiële data en gaan dus niet mee in de backup-ZIP - `VoortgangTab.jsx` bepaalde de modus met `T.bg === "#0f1117"`. Die kleur is de achtergrond allang niet meer (dat is `#241A39`), dus de grafiek gebruikte altijd de lichte rasterlijnen — ook in het donker. Leest nu `T.darkMode`, wat met instelbare thema's sowieso de enige werkbare manier is - De kolomkoppen van de categorieën hebben een `title`, net als de Opmerkingen-cellen al hadden: bij de standaardbreedte kapt "Crowdfunding" af - De dark-mode schakelaar in `InstellingenModal.jsx` was een `
` met een klik-handler en dus niet met het toetsenbord te bedienen. Nu een `