Skip to content

Commit 97c73b8

Browse files
committed
added a menu for profile actions -> logout
1 parent 7eae951 commit 97c73b8

1 file changed

Lines changed: 40 additions & 12 deletions

File tree

  • frontend/src/components/organisms/navigation

frontend/src/components/organisms/navigation/Sidebar.vue

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@
88
VList,
99
VListItem,
1010
VDivider,
11+
VMenu,
1112
} from 'vuetify/components';
1213
import {
1314
FolderOpen,
1415
LogIn,
16+
LogOut,
1517
FolderPlus,
1618
X,
1719
Trash2,
@@ -223,18 +225,45 @@
223225
</div>
224226

225227
<div v-else>
226-
<v-btn
227-
variant="text"
228-
color="on-surface"
229-
rounded="lg"
230-
block
231-
height="50"
232-
class="d-flex justify-start align-center text-none px-4 text-high-emphasis"
233-
@click="logoutDialogOpen = true"
228+
<v-menu
229+
location="top center"
230+
offset="12"
231+
transition="slide-y-reverse-transition"
234232
>
235-
<v-icon :icon="User" size="20" class="me-3" />
236-
<span class="font-weight-medium text-body-2">{{ formattedUsername }}</span>
237-
</v-btn>
233+
<template #activator="{ props: menuProps }">
234+
<div v-bind="menuProps" class="cursor-pointer">
235+
<v-btn
236+
variant="text"
237+
color="on-surface"
238+
rounded="lg"
239+
block
240+
height="50"
241+
class="d-flex justify-start align-center text-none px-4 text-high-emphasis profile-btn"
242+
>
243+
<v-icon :icon="User" size="20" class="me-3" />
244+
<span class="font-weight-medium text-body-2 flex-grow-1 text-start text-truncate">
245+
{{ formattedUsername }}
246+
</span>
247+
<v-icon size="16" class="text-disabled ms-2" />
248+
</v-btn>
249+
</div>
250+
</template>
251+
252+
<v-card min-width="300" rounded="lg" elevation="16" class="border pa-2">
253+
<v-list density="compact" nav class="pa-0">
254+
<v-list-item
255+
rounded="lg"
256+
class="text-error"
257+
@click="logoutDialogOpen = true"
258+
>
259+
<template #prepend>
260+
<v-icon :icon="LogOut" size="18" />
261+
</template>
262+
<v-list-item-title class="font-weight-medium">Log out</v-list-item-title>
263+
</v-list-item>
264+
</v-list>
265+
</v-card>
266+
</v-menu>
238267
</div>
239268
</div>
240269

@@ -260,7 +289,6 @@
260289
</template>
261290

262291
<style scoped>
263-
/* --- Action Button Opacity Logic --- */
264292
.project-action-btn {
265293
opacity: 0;
266294
transition: opacity 0.2s ease-in-out;

0 commit comments

Comments
 (0)