Skip to content

Commit 062d798

Browse files
authored
Fix Settings tab (#13477)
The settings tab has "close" button and is not "deselectable" anymore. <img width="729" height="157" alt="image" src="https://github.com/user-attachments/assets/4abaf8a1-0fe5-4640-8043-71b270d59c3e" />
1 parent fb214a6 commit 062d798

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

app/gui/src/components/AppContainer.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ const onSignOut = () => {
109109
:selected="true"
110110
icon="settings"
111111
label="Settings"
112+
@close="tab = 'drive'"
112113
/>
113114
</div>
114115
<div class="filler" />

app/gui/src/components/AppContainer/SelectableTab.vue

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@ import { AnimatePresence, motion } from 'motion-v'
66
import { computed } from 'vue'
77
import CloseButton from '../CloseButton.vue'
88
9-
const selected = defineModel<boolean>('selected')
109
const {
10+
selected,
1111
selectionLayoutId,
1212
label,
1313
tooltip,
1414
orientation = 'horizontal',
1515
enabled = true,
1616
} = defineProps<{
17+
selected: boolean
1718
selectionLayoutId: string
1819
icon?: Icon | undefined
1920
label?: string | undefined
@@ -22,6 +23,9 @@ const {
2223
enabled?: boolean
2324
onClose?: (() => void) | undefined
2425
}>()
26+
// We don't use defineModel, because we want to let component user decide what to do on selection
27+
// change.
28+
const emit = defineEmits<{ 'update:selected': [value: boolean] }>()
2529
2630
const tooltipPlacement = computed(() => (orientation === 'horizontal' ? 'top' : 'left'))
2731
const whenTooltip = computed(() => (label && !tooltip ? 'whenOverflow' : 'always'))
@@ -35,7 +39,7 @@ const VARIANTS = {
3539
<template>
3640
<TooltipTrigger :placement="tooltipPlacement" :when="whenTooltip">
3741
<template #default="triggerProps">
38-
<div class="SelectableTab" :class="orientation" @click="selected = !selected">
42+
<div class="SelectableTab" :class="orientation" @click="emit('update:selected', !selected)">
3943
<AnimatePresence :initial="selected != null">
4044
<motion.div
4145
v-if="selected"

0 commit comments

Comments
 (0)