From 2394248d530b9da19b2f927f879c05c300a9f21d Mon Sep 17 00:00:00 2001 From: Jennie Robinson Faber Date: Wed, 15 Apr 2026 17:45:09 +0100 Subject: [PATCH] Updates --- app/components/AppNavigation.vue | 9 +- app/components/PrivacyToggle.vue | 44 -- app/components/TopStrip.vue | 35 +- app/pages/admin/members/index.vue | 153 +++++-- app/pages/board.vue | 27 +- app/pages/member/profile.vue | 615 ++++++++++++++++------------ server/api/auth/member.get.js | 1 - server/api/members/[id].get.js | 60 +-- server/api/members/directory.get.js | 67 +-- server/api/members/profile.patch.js | 22 +- server/models/member.js | 44 -- server/utils/schemas.js | 15 - tests/server/api/validation.test.js | 17 +- 13 files changed, 571 insertions(+), 538 deletions(-) delete mode 100644 app/components/PrivacyToggle.vue diff --git a/app/components/AppNavigation.vue b/app/components/AppNavigation.vue index e1c9c80..92402c6 100644 --- a/app/components/AppNavigation.vue +++ b/app/components/AppNavigation.vue @@ -25,11 +25,6 @@ /> -
  • - Sign out -
  • @@ -336,8 +331,8 @@ const exploreItems = [ width: 6px; height: 6px; border-radius: 50%; - background: var(--candle); - margin-left: 6px; + background: var(--green); + margin-left: 0px; vertical-align: middle; transform: translateY(-1px); } diff --git a/app/components/PrivacyToggle.vue b/app/components/PrivacyToggle.vue deleted file mode 100644 index 23a2566..0000000 --- a/app/components/PrivacyToggle.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/app/components/TopStrip.vue b/app/components/TopStrip.vue index e34682f..bbf5f28 100644 --- a/app/components/TopStrip.vue +++ b/app/components/TopStrip.vue @@ -17,7 +17,7 @@ - + @@ -70,7 +74,12 @@ const props = defineProps({ pagePath: { type: String, default: "" }, }); -const { memberData } = useAuth(); +const { memberData, logout } = useAuth(); + +const handleLogout = async () => { + await logout(); + navigateTo("/"); +}; const capitalize = (str) => { if (!str) return ""; @@ -112,6 +121,9 @@ const breadcrumbs = computed(() => { gap: 6px; text-decoration: none; } +.member-link:hover { + text-decoration: underline; +} .member-avatar { width: 18px; height: 18px; @@ -120,6 +132,23 @@ const breadcrumbs = computed(() => { .default-ghost { color: var(--border); } +.right { + display: inline-flex; + align-items: center; +} +.sep { + color: var(--text-faint); + margin: 0 8px; +} +.top-strip a.sign-out { + font-size: 12px; + color: var(--ember); + text-decoration: none; +} +.top-strip a.sign-out:hover { + color: var(--ember); + text-decoration: underline; +} .breadcrumb-nav { display: inline; diff --git a/app/pages/admin/members/index.vue b/app/pages/admin/members/index.vue index df0ca47..5a00503 100644 --- a/app/pages/admin/members/index.vue +++ b/app/pages/admin/members/index.vue @@ -28,7 +28,7 @@
    - +
    +
    + +
    @@ -61,17 +70,18 @@ :checked="allVisibleSelected" :indeterminate="!allVisibleSelected && someVisibleSelected" @change="toggleSelectAll" - /> + > - Name - Email - Circle - Tier + Name {{ sortIndicator('name') }} + Email {{ sortIndicator('email') }} + Circle {{ sortIndicator('circle') }} + Tier {{ sortIndicator('contributionTier') }} + Status {{ sortIndicator('status') }} Invite Slack - Joined + Joined {{ sortIndicator('createdAt') }} Actions @@ -89,7 +99,7 @@ type="checkbox" :checked="selectedMemberIds.includes(member._id)" @change="toggleSelect(member._id)" - /> + > @@ -103,6 +113,9 @@ }} ${{ member.contributionTier }}/mo + + {{ statusLabel(member.status) }} + View - - + @@ -150,10 +163,10 @@ -