From 1b89de2af768016eff79edca6bd9979ee17230d5 Mon Sep 17 00:00:00 2001
From: Cory Dransfeldt <hi@coryd.dev>
Date: Wed, 30 Oct 2024 20:34:13 -0700
Subject: [PATCH] chore: run with user prefs

---
 .eleventy.js                                  |  2 -
 package-lock.json                             | 11 +----
 package.json                                  |  3 +-
 src/assets/styles/components/buttons.css      | 37 ++++++++---------
 src/assets/styles/components/theme-toggle.css | 41 -------------------
 src/assets/styles/index.css                   |  1 -
 src/includes/nav/menu.liquid                  |  1 -
 src/includes/nav/theme-toggle.liquid          | 26 ------------
 src/layouts/base.liquid                       | 36 ----------------
 9 files changed, 20 insertions(+), 138 deletions(-)
 delete mode 100644 src/assets/styles/components/theme-toggle.css
 delete mode 100644 src/includes/nav/theme-toggle.liquid

diff --git a/.eleventy.js b/.eleventy.js
index 6eb55f51..38d1cd57 100644
--- a/.eleventy.js
+++ b/.eleventy.js
@@ -38,8 +38,6 @@ export default async function (eleventyConfig) {
       "assets/scripts/components/api-text.js",
     "node_modules/@cdransf/select-pagination/select-pagination.js":
       "assets/scripts/components/select-pagination.js",
-    "node_modules/@cdransf/theme-toggle/theme-toggle.js":
-      "assets/scripts/components/theme-toggle.js",
     "node_modules/@daviddarnes/mastodon-post/mastodon-post.js":
       "assets/scripts/components/mastodon-post.js",
     "node_modules/minisearch/dist/umd/index.js":
diff --git a/package-lock.json b/package-lock.json
index e7003f90..6fd51451 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,18 +1,17 @@
 {
   "name": "coryd.dev",
-  "version": "2.4.6",
+  "version": "2.4.7",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "coryd.dev",
-      "version": "2.4.6",
+      "version": "2.4.7",
       "license": "MIT",
       "dependencies": {
         "@11ty/eleventy-fetch": "4.0.1",
         "@cdransf/api-text": "^1.8.1",
         "@cdransf/select-pagination": "^1.3.1",
-        "@cdransf/theme-toggle": "^3.2.1",
         "@daviddarnes/mastodon-post": "^1.3.0",
         "http-proxy-middleware": "3.0.3",
         "minisearch": "^7.1.0",
@@ -410,12 +409,6 @@
       "integrity": "sha512-zwBWlX7V6SXlUe9TkJblZF44+2agHRCaCnG/v+Q2Bcgf2DhOQI4qiMOoNBsr09TpkKvQENOqwT2kOycszBcJtA==",
       "license": "MIT"
     },
-    "node_modules/@cdransf/theme-toggle": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/@cdransf/theme-toggle/-/theme-toggle-3.2.1.tgz",
-      "integrity": "sha512-YJsnQNXJeaeZOWb4eKxmTbXxda9XBKHq/eQQ26IhVvZzTfZzVjG9ma5Fvq3Em4gwTHWCRnG+YU2M1eDnl6qTgw==",
-      "license": "MIT"
-    },
     "node_modules/@daviddarnes/mastodon-post": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/@daviddarnes/mastodon-post/-/mastodon-post-1.3.0.tgz",
diff --git a/package.json b/package.json
index f14949d5..d4050676 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "coryd.dev",
-  "version": "2.4.6",
+  "version": "2.4.7",
   "description": "The source for my personal site. Built using 11ty (and other tools).",
   "type": "module",
   "engines": {
@@ -29,7 +29,6 @@
     "@11ty/eleventy-fetch": "4.0.1",
     "@cdransf/api-text": "^1.8.1",
     "@cdransf/select-pagination": "^1.3.1",
-    "@cdransf/theme-toggle": "^3.2.1",
     "@daviddarnes/mastodon-post": "^1.3.0",
     "http-proxy-middleware": "3.0.3",
     "minisearch": "^7.1.0",
diff --git a/src/assets/styles/components/buttons.css b/src/assets/styles/components/buttons.css
index 238e7aa3..ca56b13a 100644
--- a/src/assets/styles/components/buttons.css
+++ b/src/assets/styles/components/buttons.css
@@ -5,31 +5,28 @@ button,
 .button {
   appearance: none;
   border: none;
+  border: 2px solid var(--accent-color);
+  border-radius: var(--border-radius-full);
+  padding: var(--spacing-xs) var(--spacing-md);
+  cursor: pointer;
+  font-size: var(--font-size-base);
+  font-weight: var(--font-weight-bold);
+  line-height: var(--line-height-base);
+  white-space: nowrap;
+  color: var(--text-color-inverted);
+  background-color: var(--accent-color);
+  appearance: none;
+  transition: color var(--transition-duration-default)
+    var(--transition-ease-in-out);
 
   & + hr {
     margin-top: 0;
   }
 
-  &:not(.theme-toggle) {
-    border: 2px solid var(--accent-color);
-    border-radius: var(--border-radius-full);
-    padding: var(--spacing-xs) var(--spacing-md);
-    cursor: pointer;
-    font-size: var(--font-size-base);
-    font-weight: var(--font-weight-bold);
-    line-height: var(--line-height-base);
-    white-space: nowrap;
-    color: var(--text-color-inverted);
-    background-color: var(--accent-color);
-    appearance: none;
-    transition: color var(--transition-duration-default)
-      var(--transition-ease-in-out);
-  }
-
-  &:not(.theme-toggle, .active):hover,
-  &:not(.theme-toggle, .active):active,
-  &:not(.theme-toggle, .active):focus,
-  &:not(.theme-toggle, .active):focus-within {
+  &:not(.active):hover,
+  &:not(.active):active,
+  &:not(.active):focus,
+  &:not(.active):focus-within {
     background-color: var(--accent-color-hover);
     border-color: var(--accent-color-hover);
   }
diff --git a/src/assets/styles/components/theme-toggle.css b/src/assets/styles/components/theme-toggle.css
deleted file mode 100644
index 5eff406a..00000000
--- a/src/assets/styles/components/theme-toggle.css
+++ /dev/null
@@ -1,41 +0,0 @@
-theme-toggle {
-  display: flex;
-  width: var(--sizing-svg-base);
-  height: var(--sizing-svg-base);
-  margin-left: var(--spacing-md);
-}
-
-.theme-toggle {
-  background: transparent;
-  padding: 0;
-
-  & svg {
-    cursor: pointer;
-  }
-
-  &:hover svg,
-  &:focus svg,
-  &:focus-within svg,
-  &:active svg {
-    stroke: var(--accent-color-hover);
-  }
-
-  .sun,
-  & > .light svg {
-    stroke: var(--sun);
-  }
-
-  .moon,
-  & > .dark svg {
-    stroke: var(--moon);
-  }
-
-  .twilight {
-    stroke: var(--twilight);
-  }
-
-  .light,
-  .dark {
-    display: none;
-  }
-}
\ No newline at end of file
diff --git a/src/assets/styles/index.css b/src/assets/styles/index.css
index f39d03f7..7fd653f0 100644
--- a/src/assets/styles/index.css
+++ b/src/assets/styles/index.css
@@ -37,5 +37,4 @@
 @import url("./components/music-chart.css") layer(components);
 @import url("./components/paginator.css") layer(components);
 @import url("./components/progress-bar.css") layer(components);
-@import url("./components/theme-toggle.css") layer(components);
 @import url("./components/youtube-player.css") layer(components);
diff --git a/src/includes/nav/menu.liquid b/src/includes/nav/menu.liquid
index 7bc8b41d..a0b6a10b 100644
--- a/src/includes/nav/menu.liquid
+++ b/src/includes/nav/menu.liquid
@@ -9,5 +9,4 @@
       <li>{% render "nav/link.liquid", page:page, link:link %}</li>
     {%- endfor -%}
   </ul>
-  {% render "nav/theme-toggle.liquid" %}
 </menu>
\ No newline at end of file
diff --git a/src/includes/nav/theme-toggle.liquid b/src/includes/nav/theme-toggle.liquid
deleted file mode 100644
index 4a04fdae..00000000
--- a/src/includes/nav/theme-toggle.liquid
+++ /dev/null
@@ -1,26 +0,0 @@
-<script type="module" src="/assets/scripts/components/theme-toggle.js?v={% appVersion %}"
-  crossorigin="anonymous"></script>
-<span class="client-side">
-  <theme-toggle mode="control" storage="local">
-    <button aria-label="Auto, light, dark theme control" class="theme-toggle">
-      <span class="auto">
-        <svg aria-hidden="true" data-tablericon-name="sun-moon" fill="none" height="24" stroke="currentColor"
-          stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24"
-          xmlns="http://www.w3.org/2000/svg">
-          <path class="sun" d="M9.173 14.83a4 4 0 1 1 5.657 -5.657"></path>
-          <path class="moon" d="M11.294 12.707l.174 .247a7.5 7.5 0 0 0 8.845 2.492a9 9 0 0 1 -14.671 2.914"></path>
-          <path class="sun" d="M3 12h1"></path>
-          <path class="sun" d="M12 3v1"></path>
-          <path class="sun" d="M5.6 5.6l.7 .7"></path>
-          <path class="twilight" d="M3 21l18 -18"></path>
-        </svg>
-      </span>
-      <span class="light">
-        {% tablericon "sun" %}
-      </span>
-      <span class="dark">
-        {% tablericon "moon" %}
-      </span>
-    </button>
-  </theme-toggle>
-</span>
\ No newline at end of file
diff --git a/src/layouts/base.liquid b/src/layouts/base.liquid
index 8cb78386..0da6fd6d 100644
--- a/src/layouts/base.liquid
+++ b/src/layouts/base.liquid
@@ -47,42 +47,6 @@
     </noscript>
   </head>
   <body>
-    <script>
-      document.addEventListener("DOMContentLoaded", () => {
-        (() => {
-          const storageType =
-            document.querySelector("theme-toggle")?.getAttribute("storage") === "local"
-              ? localStorage
-              : sessionStorage;
-
-          const currentTheme = storageType.getItem("theme") || "auto";
-          const metaColorScheme = document.querySelector('meta[name="color-scheme"]');
-          const lightIcon = document.querySelector(".light");
-          const darkIcon = document.querySelector(".dark");
-          const autoIcon = document.querySelector(".auto");
-
-          if (currentTheme === "auto") {
-            metaColorScheme.setAttribute("content", "light dark");
-            document.documentElement.style.colorScheme = "";
-          } else {
-            metaColorScheme.setAttribute("content", currentTheme);
-            document.documentElement.style.colorScheme = currentTheme;
-          }
-
-          lightIcon.style.display = "none";
-          darkIcon.style.display = "none";
-          autoIcon.style.display = "none";
-
-          if (currentTheme === "light") {
-            lightIcon.style.display = "inline";
-          } else if (currentTheme === "dark") {
-            darkIcon.style.display = "inline";
-          } else {
-            autoIcon.style.display = "inline";
-          }
-        })();
-      });
-    </script>
     <div class="main-wrapper">
       <main>
         {% render "header.liquid", globals:globals, page:page, nav:nav %}