From a1ca07e6fd6f46e3a946cf5bc9edef39e6f7f72e Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Fri, 16 Jan 2026 23:42:13 -0500 Subject: [PATCH 01/11] Implemented new mobile navigation system --- ui/src/components/Navigation/Navbar.vue | 216 +++++++++++++++++++++++- 1 file changed, 212 insertions(+), 4 deletions(-) diff --git a/ui/src/components/Navigation/Navbar.vue b/ui/src/components/Navigation/Navbar.vue index 9aebc3d..e454789 100644 --- a/ui/src/components/Navigation/Navbar.vue +++ b/ui/src/components/Navigation/Navbar.vue @@ -1,5 +1,5 @@ \ No newline at end of file From 045de2fe980c7af19a351a9e147d2b5683f1fc10 Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Sat, 17 Jan 2026 00:23:27 -0500 Subject: [PATCH 02/11] Fixed the join button not showing while logged out --- ui/src/components/Navigation/Navbar.vue | 28 +++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/ui/src/components/Navigation/Navbar.vue b/ui/src/components/Navigation/Navbar.vue index e454789..5a1399f 100644 --- a/ui/src/components/Navigation/Navbar.vue +++ b/ui/src/components/Navigation/Navbar.vue @@ -101,7 +101,7 @@ const navConfig: NavItem[] = [ { title: 'Join', to: '/join', - status: 'guest' + status: 'guest', }, ]; @@ -109,8 +109,27 @@ const filteredNav = computed(() => { return navConfig.flatMap(item => { const filtered: NavItem[] = []; - const shouldShow = (!item.status || item.status === auth.accountStatus.value) && - (!item.roles || auth.hasAnyRole(item.roles)); + // 1. Check Login Requirements + const isLoggedIn = userStore.isLoggedIn; + + // 2. Determine visibility based on status + let shouldShow = false; + + if (!item.status) { + // Public items - always show + shouldShow = true; + } else if (item.status === 'guest') { + // Show if NOT logged in OR logged in as guest (but NOT a member) + shouldShow = !isLoggedIn || auth.accountStatus.value === 'guest'; + } else if (item.status === 'member') { + // Show ONLY if logged in as member + shouldShow = isLoggedIn && auth.accountStatus.value === 'member'; + } + + // 3. Check Role Requirements (if status check passed) + if (shouldShow && item.roles) { + shouldShow = auth.hasAnyRole(item.roles); + } if (shouldShow) { if (item.items) { @@ -391,7 +410,8 @@ function mobileNavigateTo(to: string) { + @click="mobileNavigateTo('/join')">My + Application From 0e37a8bc9ca7b02f34c66ad58eee4218d1ba6a8c Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Sat, 17 Jan 2026 00:54:53 -0500 Subject: [PATCH 03/11] Improved promotion page readability on mobile --- .../components/promotions/promotionForm.vue | 6 +- ui/src/pages/RankChange.vue | 82 +++++++++---------- 2 files changed, 41 insertions(+), 47 deletions(-) diff --git a/ui/src/components/promotions/promotionForm.vue b/ui/src/components/promotions/promotionForm.vue index a6708f6..6563aa2 100644 --- a/ui/src/components/promotions/promotionForm.vue +++ b/ui/src/components/promotions/promotionForm.vue @@ -129,11 +129,7 @@ function setAllToday() {
-
- - Promotion Form - -
+
diff --git a/ui/src/pages/RankChange.vue b/ui/src/pages/RankChange.vue index ec99b33..183b6d9 100644 --- a/ui/src/pages/RankChange.vue +++ b/ui/src/pages/RankChange.vue @@ -1,29 +1,48 @@ + + - - \ No newline at end of file + \ No newline at end of file From 676e09aef5db065e11841401758fd457fda8f55f Mon Sep 17 00:00:00 2001 From: ajdj100 Date: Sat, 21 Mar 2026 23:22:41 -0400 Subject: [PATCH 04/11] Updated navigation system for new stuff --- ui/src/components/Navigation/Navbar.vue | 312 ++++++++++++------------ 1 file changed, 161 insertions(+), 151 deletions(-) diff --git a/ui/src/components/Navigation/Navbar.vue b/ui/src/components/Navigation/Navbar.vue index 8b2a55a..d94bbf8 100644 --- a/ui/src/components/Navigation/Navbar.vue +++ b/ui/src/components/Navigation/Navbar.vue @@ -1,171 +1,180 @@