From dd92b0279d56a30ba64d3ad6862ca71e90c08858 Mon Sep 17 00:00:00 2001 From: Arya Kiran Date: Thu, 10 Apr 2025 19:19:55 +0530 Subject: [PATCH] add user's preferred colourscheme as cookie (closes #62) --- views/header.html | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/views/header.html b/views/header.html index dac63c4..cdc95af 100644 --- a/views/header.html +++ b/views/header.html @@ -64,19 +64,34 @@ if (document.documentElement.classList.contains("light")) { document.documentElement.classList.remove("light"); document.documentElement.classList.add("dark"); + document.cookie = "colour=dark"; } else if (document.documentElement.classList.contains("dark")) { document.documentElement.classList.remove("dark"); document.documentElement.classList.add("light"); + document.cookie = "colour=light"; } else { if ( window.matchMedia && window.matchMedia("(prefers-color-scheme: light)").matches ) { document.documentElement.classList.add("dark"); + document.cookie = "colour=dark"; } else { document.documentElement.classList.add("light"); + document.cookie = "colour=light"; } } } + const colourScheme = document.cookie + .split("; ") + .find((row) => row.startsWith("colour=")) + ?.split("=")[1]; + if (colourScheme === "light") { + document.documentElement.classList.remove("dark"); + document.documentElement.classList.add("light"); + } else if (colourScheme === "dark") { + document.documentElement.classList.remove("light"); + document.documentElement.classList.add("dark"); + }