Skip to content

Draft: feat(dark-mode): add toggle switch for data-color-scheme

Sondre Søberg requested to merge soso/feat-dark-mode-toggle into main

Legger til en komponent for å toggle dark mode. Har måttet gå litt bort fra initiell tanke om en ren plug'n play-komponent, som ikke trenger noe særlig ekstern tilstandsstyring. Første commit er egentlig bare med for å vise bakgrunnen for hvorfor, og kan squashes senere.

For SPA-prosjekter kan man antakeligvis fortsatt slippe unna med den enkleste løsningen, men siden jeg nå skal inn i NextJS' SSR-verden, måtte jeg nesten se på muligheten for ekstern kontroll av tilstand, som også fungerte fra server. localStorage fungerte dårlig da. Enten måtte hele appen wrappes i "use client", ellers slet ting f.eks. ved initiell render.

Har lagt til et løsningsforslag for hvordan man kan få det til å fungere både i NextJS og vanlig SPA i storybook. Ble aldri helt venn med storybook, så tar gjerne imot formatteringsråd.

Farge-/stilvalg er også et diskusjonspunkt. Jeg tok bare til takke med en tilgjengelig farge, men det kunne/burde sikkert ha vært en annen.

Merge request reports

Loading