From 5132e3eb2f510c911785ff9f27264e702dbf6035 Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Fri, 16 Jan 2026 18:16:54 +0000 Subject: [PATCH 01/18] fix: fixed a woppsie dossie --- nuxt.config.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/nuxt.config.ts b/nuxt.config.ts index 8e93e9a..19a2d61 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -1,7 +1,6 @@ import tailwindcss from "@tailwindcss/vite"; export default defineNuxtConfig({ -<<<<<<< HEAD compatibilityDate: "2026-01-01", devtools: { enabled: true }, From 7f265856491ee6b999afdc56355737a464a77449 Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Fri, 16 Jan 2026 19:33:38 +0000 Subject: [PATCH 02/18] feat: improved and updated navbar --- app/assets/css/main.css | 2 +- app/layouts/default.vue | 238 +++++++++++++++++++++++++++++------- app/pages/profile/index.vue | 84 ++++++------- 3 files changed, 234 insertions(+), 90 deletions(-) diff --git a/app/assets/css/main.css b/app/assets/css/main.css index 9577ba9..9b39686 100644 --- a/app/assets/css/main.css +++ b/app/assets/css/main.css @@ -5,6 +5,7 @@ --text-tertiary: #6e7681; --text-link: #2f81f7; --text-link-hover: #539bf5; + --text-slate: #57606a; --border-primary: #30363d; --border-hover: #8d96a0; @@ -56,7 +57,6 @@ body { h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.25; - color: var(--text-primary); } p { diff --git a/app/layouts/default.vue b/app/layouts/default.vue index b0fbd8d..c1ab5ca 100644 --- a/app/layouts/default.vue +++ b/app/layouts/default.vue @@ -2,67 +2,211 @@ import { useAuthStore } from "~/stores/auth-store.js"; const authStore = useAuthStore(); -const isDark = ref(false); const router = useRouter(); +// State (No more isScrolled) +const isDark = ref(false); +const isUserMenuOpen = ref(false); +const isMobileMenuOpen = ref(false); +const userMenuRef = ref(null); + +// Toggle Dark Mode function toggleDark() { - isDark.value = !isDark.value; - if (isDark.value) { - document.documentElement.classList.add('dark'); - localStorage.theme = 'dark'; - } else { - document.documentElement.classList.remove('dark'); - localStorage.theme = 'light'; - } + isDark.value = !isDark.value; + if (isDark.value) { + document.documentElement.classList.add('dark'); + localStorage.theme = 'dark'; + } else { + document.documentElement.classList.remove('dark'); + localStorage.theme = 'light'; + } } -function logout() { - authStore.logout() - router.push("/auth/login"); +// Navigation Links +const navLinks = [ + { name: 'Dashboard', path: '/' }, + { name: 'Courses', path: '/courses' }, + { name: 'Students', path: '/students' }, + { name: 'Schedule', path: '/schedule' }, +]; + +function handleLogout() { + isUserMenuOpen.value = false; + isMobileMenuOpen.value = false; + authStore.logout(); + router.push("/auth/login"); +} + +function navigateTo(path) { + isUserMenuOpen.value = false; + isMobileMenuOpen.value = false; + router.push(path); +} + +function closeDropdowns(event) { + if (userMenuRef.value && !userMenuRef.value.contains(event.target)) { + isUserMenuOpen.value = false; + } } onMounted(() => { - if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) { - isDark.value = true; - document.documentElement.classList.add('dark'); - } + // Initialize Theme + if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) { + isDark.value = true; + document.documentElement.classList.add('dark'); + } + + // Click listener for closing dropdowns + window.addEventListener('click', closeDropdowns); +}); + +onUnmounted(() => { + window.removeEventListener('click', closeDropdowns); }); + diff --git a/app/pages/profile/index.vue b/app/pages/profile/index.vue index a0fb397..f42db14 100644 --- a/app/pages/profile/index.vue +++ b/app/pages/profile/index.vue @@ -1,60 +1,60 @@ - + \ No newline at end of file diff --git a/app/pages/index.vue b/app/pages/index.vue index 9b7905c..64eaa22 100644 --- a/app/pages/index.vue +++ b/app/pages/index.vue @@ -4,7 +4,7 @@
-

+

Academic Management System

@@ -15,17 +15,17 @@