From e4933348a64e1daf2ce0cacb97cf79deb8d4ad82 Mon Sep 17 00:00:00 2001 From: Zaine Arch Date: Wed, 6 Aug 2025 15:28:34 +0100 Subject: [PATCH] Auto-publish on Wed 6 Aug 15:28:34 BST 2025 --- output/output/output/style.css | 58 ++++++++++++++++++++++++++++++++++ output/output/theme-toggle.js | 34 ++++++++++++++++++++ output/theme-toggle.js | 1 + 3 files changed, 93 insertions(+) create mode 100644 output/output/output/style.css create mode 100644 output/output/theme-toggle.js diff --git a/output/output/output/style.css b/output/output/output/style.css new file mode 100644 index 0000000..115bc83 --- /dev/null +++ b/output/output/output/style.css @@ -0,0 +1,58 @@ +:root { + --bg: #ffffff; + --fg: #000000; + --link: #1a0dab; + --heading: #004c99; + --code-bg: #f0f0f0; +} + +body.dark { + --bg: #121212; + --fg: #e0e0e0; + --link: #8ab4f8; + --heading: #7baaf7; + --code-bg: #1e1e1e; +} + +body { + font-family: sans-serif; + max-width: 700px; + margin: 2rem auto; + padding: 1rem; + line-height: 1.6; + background-color: var(--bg); + color: var(--fg); + transition: background-color 0.3s, color 0.3s; +} + +h1, h2, h3 { + color: var(--heading); +} + +a { + color: var(--link); + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +pre, code { + background: var(--code-bg); + padding: 0.2em 0.4em; + border-radius: 4px; + font-family: monospace; +} + +/* Toggle button */ +#theme-toggle { + position: fixed; + top: 1rem; + right: 1rem; + padding: 0.4em 0.8em; + background: var(--code-bg); + border: none; + border-radius: 5px; + cursor: pointer; +} diff --git a/output/output/theme-toggle.js b/output/output/theme-toggle.js new file mode 100644 index 0000000..c3e736a --- /dev/null +++ b/output/output/theme-toggle.js @@ -0,0 +1,34 @@ +function setTheme(mode) { + if (mode === 'dark') { + document.body.classList.add('dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.body.classList.remove('dark'); + localStorage.setItem('theme', 'light'); + } +} + +function toggleTheme() { + const current = document.body.classList.contains('dark') ? 'dark' : 'light'; + setTheme(current === 'dark' ? 'light' : 'dark'); +} + +window.addEventListener('DOMContentLoaded', () => { + const saved = localStorage.getItem('theme'); + + // Auto-detect system preference if no saved preference + if (!saved) { + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + setTheme('dark'); + } + } else if (saved === 'dark') { + setTheme('dark'); + } + + // Add the toggle button + const button = document.createElement('button'); + button.id = 'theme-toggle'; + button.innerText = 'Toggle Theme'; + button.onclick = toggleTheme; + document.body.appendChild(button); +}); diff --git a/output/theme-toggle.js b/output/theme-toggle.js index c3e736a..73632b1 100644 --- a/output/theme-toggle.js +++ b/output/theme-toggle.js @@ -11,6 +11,7 @@ function setTheme(mode) { function toggleTheme() { const current = document.body.classList.contains('dark') ? 'dark' : 'light'; setTheme(current === 'dark' ? 'light' : 'dark'); + console.log("Testing"); } window.addEventListener('DOMContentLoaded', () => {