Diena un nakts Next js
Sen sāku veidot projektus ar Next.js, sākumā viss šķita vienkārši — maršrutēšana strādā, SSR/ISR darbojas, komponentes kārtīgi strukturētas. Balts fons, tumšs teksts, klasiskais “enterprise” izskats. It kā viss pareizi. Bet kaut kas pietrūka.
Vienā brīdī, testējot aplikāciju vēlu vakarā, ekrāns šķita pārāk spilgts. Acis ātri nogura. Tajā brīdī kļuva skaidrs — ja mēs paši jūtam diskomfortu, lietotāji to jutīs vēl vairāk. Un tieši tur sākās doma par diena/nakts režīmu.
Sākumā tas likās kā kosmētisks uzlabojums. “Mazs slēdzītis headerī.” Bet, tiklīdz sākām to ieviest, atklājās, ka tas nav tikai dizaina jautājums — tas ir arhitektūras jautājums.
Lai tumšais režīms strādātu pareizi, nācās pārskatīt visu krāsu sistēmu. Vairs nevarēja komponentē ierakstīt #ffffff vai #000000. Parādījās CSS mainīgie, centralizēta tēmu konfigurācija, loģiska dizaina sistēma. Krāsas kļuva par semantiskiem tokeniem — --color-background, --color-surface, --color-text-primary. Kods kļuva tīrāks. Strukturētāks. Domāšana — disciplinētāka.
Tad nāca nākamais izaicinājums — SSR. Ja lietotājs izvēlas tumšo režīmu, bet serveris sākotnēji atgriež gaišo, rodas nepatīkams “flicker” efekts. Balts ekrāns uz mirkli, tad tumšs. Šis brīdis lika iedziļināties Next.js renderēšanas ciklā. Sākotnējā tēmas noteikšana tika pārcelta uz dokumenta līmeni, lai režīms būtu zināms jau pirms React hidratācijas. Rezultātā aplikācija kļuva tehniski nobriedušāka.
Un tad parādījās vēl viens interesants ieguvums — zīmola uztvere. Mūsdienu digitālajā vidē lietotāji jau ir pieraduši, ka platformas piedāvā režīmu izvēli. To dara GitHub, to dara Notion. Ja produkts šādu iespēju nepiedāvā, tas šķiet mazliet nepabeigts. Savukārt, ja piedāvā — tas signalizē rūpību un uzmanību detaļām.
Interesanti, ka līdz ar tumšā režīma ieviešanu uzlabojās arī pieejamība. Kontrasti tika pārskatīti, tipogrāfija precizēta, interaktīvie elementi kļuva skaidrāki. Tas nebija tikai “krāsu inversija” — tā bija pilna dizaina validācija.
Un, protams, mobilās ierīces. OLED ekrānos tumšais režīms patērē mazāk enerģijas. Tas nozīmē ilgāku baterijas darbību lietotājiem, kuri aplikācijā pavada stundas. Neliels tehnisks lēmums, bet ar reālu praktisku ietekmi.
Beigās diena/nakts režīms kļuva par vairāk nekā tikai UI elementu. Tas kļuva par kvalitātes indikatoru. Par pierādījumu, ka projekts nav uztaisīts “lai tikai strādā”, bet ir veidots ar domāšanu par lietotāju, arhitektūru un ilgtermiņa mērogojamību.
Tāpēc šodien, sākot jaunu projektu ar Next.js, diena/nakts režīms vairs nav papildfunkcija. Tas ir daļa no pamata dizaina un tehniskās domāšanas. Un jā — tas ir stilīgi.

Komentāri