summaryrefslogtreecommitdiff
path: root/tailwindcss/02-vite/src
diff options
context:
space:
mode:
Diffstat (limited to 'tailwindcss/02-vite/src')
-rw-r--r--tailwindcss/02-vite/src/main.js10
-rw-r--r--tailwindcss/02-vite/src/style.css3
2 files changed, 13 insertions, 0 deletions
diff --git a/tailwindcss/02-vite/src/main.js b/tailwindcss/02-vite/src/main.js
new file mode 100644
index 0000000..9a69e49
--- /dev/null
+++ b/tailwindcss/02-vite/src/main.js
@@ -0,0 +1,10 @@
+const toggleButton = document.querySelector('#theme-toggle');
+
+toggleButton.addEventListener('click', () => {
+ // Toggle the class on the <html> tag
+ document.documentElement.classList.toggle('dark');
+
+ // Optional: Save preference to localStorage
+ const isDark = document.documentElement.classList.contains('dark');
+ localStorage.setItem('theme', isDark ? 'dark' : 'light');
+});
diff --git a/tailwindcss/02-vite/src/style.css b/tailwindcss/02-vite/src/style.css
index 0b094f7..87d049b 100644
--- a/tailwindcss/02-vite/src/style.css
+++ b/tailwindcss/02-vite/src/style.css
@@ -1,5 +1,8 @@
@import "tailwindcss";
+/* Forcs Tailwind to look for a .dark class up the HTML tree instead of checking the user's operating system preferences. */
+@custom-variant dark (&:where(.dark, .dark *));
+
/* Base layer customization with Tailwind CSS classes - applies to elements like p, a, img */
@layer base {
a {