diff --git a/src/components/layout/Navbar.vue b/src/components/layout/Navbar.vue index e6f8520..ca9e189 100644 --- a/src/components/layout/Navbar.vue +++ b/src/components/layout/Navbar.vue @@ -27,6 +27,7 @@ const { theme, setTheme } = useTheme() const isOpen = ref(false) const showLoginDialog = ref(false) const showProfileDialog = ref(false) +const showLogoutConfirm = ref(false) const marketPreloader = useMarketPreloader() const navigation = computed(() => [ @@ -242,10 +243,10 @@ const handleLogout = async () => { Relay Hub Status - + @@ -278,5 +279,8 @@ const handleLogout = async () => { + + + diff --git a/src/components/ui/LogoutConfirmDialog/LogoutConfirmDialog.vue b/src/components/ui/LogoutConfirmDialog/LogoutConfirmDialog.vue index 021b475..deb184a 100644 --- a/src/components/ui/LogoutConfirmDialog/LogoutConfirmDialog.vue +++ b/src/components/ui/LogoutConfirmDialog/LogoutConfirmDialog.vue @@ -14,10 +14,12 @@ interface Props { size?: 'default' | 'sm' | 'lg' | 'icon' class?: string children?: any + isOpen?: boolean } interface Emits { (e: 'confirm'): void + (e: 'update:isOpen', value: boolean): void } const props = withDefaults(defineProps(), { @@ -27,14 +29,22 @@ const props = withDefaults(defineProps(), { // Default classes for the logout button styling const defaultClasses = computed(() => { - if (props.class) return props.class + const baseClasses = 'gap-2 text-destructive hover:text-destructive/90 hover:bg-destructive/10' + + if (props.class) { + // Merge custom classes with base classes, ensuring red styling is preserved + return `${props.class} ${baseClasses}` + } // Default styling that matches the original red logout button - return 'gap-2 text-destructive hover:text-destructive/90 hover:bg-destructive/10' + return baseClasses }) const emit = defineEmits() -const isOpen = ref(false) +const isOpen = computed({ + get: () => props.isOpen ?? false, + set: (value: boolean) => emit('update:isOpen', value) +}) const handleConfirm = () => { isOpen.value = false @@ -48,7 +58,7 @@ const handleCancel = () => {