From 63d0e4ee2dac4505f812fc1e287bc1f25665c6c3 Mon Sep 17 00:00:00 2001
From: fullsizemalt <106900403+fullsizemalt@users.noreply.github.com>
Date: Thu, 8 Jan 2026 00:46:48 -0800
Subject: [PATCH] feat(theme): Implement Aspirant theme switcher with
DesignSwitch component
---
frontend/index.html | 25 +++---
frontend/src/components/DesignSwitch.tsx | 21 +++++
frontend/src/components/Layout.tsx | 2 +
frontend/src/context/ThemeContext.tsx | 35 ++++++++
frontend/src/index.css | 107 ++++++++++++++++++++++-
frontend/src/main.tsx | 5 +-
6 files changed, 181 insertions(+), 14 deletions(-)
create mode 100644 frontend/src/components/DesignSwitch.tsx
create mode 100644 frontend/src/context/ThemeContext.tsx
diff --git a/frontend/index.html b/frontend/index.html
index 1a37b58..3405e40 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -1,16 +1,19 @@
-
-
-
-
-
-
-
-
-
-
- Veridian - Cultivation Platform
+
+
+
+
+
+
+
+
+
+
+
+Veridian - Cultivation Platform
diff --git a/frontend/src/components/DesignSwitch.tsx b/frontend/src/components/DesignSwitch.tsx
new file mode 100644
index 0000000..31250d9
--- /dev/null
+++ b/frontend/src/components/DesignSwitch.tsx
@@ -0,0 +1,21 @@
+import { useTheme } from '../context/ThemeContext';
+import { Palette } from 'lucide-react';
+
+export default function DesignSwitch() {
+ const { theme, setTheme } = useTheme();
+
+ return (
+
+ );
+}
diff --git a/frontend/src/components/Layout.tsx b/frontend/src/components/Layout.tsx
index 7cc5a96..85a72b4 100644
--- a/frontend/src/components/Layout.tsx
+++ b/frontend/src/components/Layout.tsx
@@ -14,6 +14,7 @@ import { Breadcrumbs } from './ui/Breadcrumbs';
import { pageVariants } from '../lib/animations';
import { Search, Bell, Settings, Filter, ChevronDown } from 'lucide-react';
import ThemeToggle from './ThemeToggle';
+import DesignSwitch from './DesignSwitch';
import { UserMenu } from './layout/UserMenu';
import { NotificationBell } from './notifications/NotificationBell';
@@ -91,6 +92,7 @@ export default function Layout() {
+