diff --git a/assets/hero.png b/assets/hero.png index 5d7149b..877dc2c 100644 Binary files a/assets/hero.png and b/assets/hero.png differ diff --git a/website/public/hero.png b/website/public/hero.png deleted file mode 100644 index 5d7149b..0000000 Binary files a/website/public/hero.png and /dev/null differ diff --git a/website/src/components/ThemeToggle.astro b/website/src/components/ThemeToggle.astro index bff8983..d9702a1 100644 --- a/website/src/components/ThemeToggle.astro +++ b/website/src/components/ThemeToggle.astro @@ -13,21 +13,41 @@ var stored = localStorage.getItem('theme'); var prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; var dark = stored === 'dark' || (!stored && prefersDark); - if (dark) document.documentElement.classList.add('dark'); - function update() { - var isDark = document.documentElement.classList.contains('dark'); - document.getElementById('sun-icon').style.display = isDark ? 'block' : 'none'; - document.getElementById('moon-icon').style.display = isDark ? 'none' : 'block'; + if (dark) { + document.documentElement.classList.add('dark'); + } else { + document.documentElement.classList.remove('dark'); } - update(); + + function updateIcons() { + var isDark = document.documentElement.classList.contains('dark'); + var sun = document.getElementById('sun-icon'); + var moon = document.getElementById('moon-icon'); + if (sun) sun.style.display = isDark ? 'block' : 'none'; + if (moon) moon.style.display = isDark ? 'none' : 'block'; + } + + function bindToggle() { + var btn = document.getElementById('theme-toggle'); + if (btn && !btn._bound) { + btn._bound = true; + btn.addEventListener('click', function() { + document.documentElement.classList.toggle('dark'); + var isDark = document.documentElement.classList.contains('dark'); + localStorage.setItem('theme', isDark ? 'dark' : 'light'); + updateIcons(); + }); + } + } + + updateIcons(); document.addEventListener('DOMContentLoaded', function() { - update(); - document.getElementById('theme-toggle').addEventListener('click', function() { - document.documentElement.classList.toggle('dark'); - var isDark = document.documentElement.classList.contains('dark'); - localStorage.setItem('theme', isDark ? 'dark' : 'light'); - update(); - }); + updateIcons(); + bindToggle(); + }); + document.addEventListener('astro:after-swap', function() { + updateIcons(); + bindToggle(); }); })(); diff --git a/website/src/layouts/Base.astro b/website/src/layouts/Base.astro index 309b933..ca81168 100644 --- a/website/src/layouts/Base.astro +++ b/website/src/layouts/Base.astro @@ -37,8 +37,11 @@ const { title, description = 'Research-first AI agent', active = 'home' } = Astr document.addEventListener('astro:after-swap', function() { var stored = localStorage.getItem('theme'); var prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; - if (stored === 'dark' || (!stored && prefersDark)) { + var shouldBeDark = stored === 'dark' || (!stored && prefersDark); + if (shouldBeDark) { document.documentElement.classList.add('dark'); + } else { + document.documentElement.classList.remove('dark'); } var isDark = document.documentElement.classList.contains('dark'); var sun = document.getElementById('sun-icon'); diff --git a/website/src/pages/index.astro b/website/src/pages/index.astro index 96c4f20..d5a1235 100644 --- a/website/src/pages/index.astro +++ b/website/src/pages/index.astro @@ -1,14 +1,13 @@ --- import Base from '../layouts/Base.astro'; -import AsciiLogo from '../components/AsciiLogo.astro'; ---
-

The open source AI research agent

-

Investigate topics, write papers, run experiments, review research, audit codebases — every output cited and source-grounded

-