diff --git a/src/features/colorTheme/components/ColorThemeButton.vue b/src/features/colorTheme/components/ColorThemeButton.vue
new file mode 100644
index 0000000..887c060
--- /dev/null
+++ b/src/features/colorTheme/components/ColorThemeButton.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/features/colorTheme/components/DarkModeToggleButton.vue b/src/features/colorTheme/components/DarkModeToggleButton.vue
deleted file mode 100644
index e94b60a..0000000
--- a/src/features/colorTheme/components/DarkModeToggleButton.vue
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/features/colorTheme/composables/useColorTheme.js b/src/features/colorTheme/composables/useColorTheme.js
new file mode 100644
index 0000000..eef2519
--- /dev/null
+++ b/src/features/colorTheme/composables/useColorTheme.js
@@ -0,0 +1,44 @@
+/*
+Copyright 2026 Seekra
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+export const useColorTheme = function () {
+ const getColorTheme = function () {
+ let colorTheme = localStorage.getItem('theme') || 'light';
+ if (!(colorTheme === 'dark' || colorTheme === 'light')) {
+ colorTheme = 'light';
+ };
+ return colorTheme;
+ };
+
+ const updateColorTheme = function (newTheme) {
+ let actualNewTheme = newTheme;
+ if (!(actualNewTheme === 'light' || actualNewTheme === 'dark')) {
+ actualNewTheme = 'light';
+ };
+
+ localStorage.setItem('theme', actualNewTheme);
+ };
+
+ const appHasDarkClass = function (colorTheme) {
+ return colorTheme === 'dark';
+ };
+
+ return {
+ getColorTheme,
+ updateColorTheme,
+ appHasDarkClass
+ };
+};
\ No newline at end of file
diff --git a/src/features/nav/components/Navbar.vue b/src/features/nav/components/Navbar.vue
index eb87691..def24de 100644
--- a/src/features/nav/components/Navbar.vue
+++ b/src/features/nav/components/Navbar.vue
@@ -15,12 +15,9 @@ limitations under the License.
-->
@@ -59,22 +56,7 @@ const isDark = inject('isDark');
.global-nav .right-links a:hover{
text-decoration: underline;
}
-.dark-mode-toggle {
- background: none;
- border: 1.5px solid var(--light-d-3);
- border-radius: 50%;
- width: 36px;
- height: 36px;
- cursor: pointer;
- font-size: 1rem;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-.dark-mode-toggle:hover {
- background: var(--light-d-2);
-}
.nav-logo {
height: 24px;
width: auto;