Skip to content

Commit ddd7708

Browse files
authored
feat: prevent disabling settings dock and builtin category group (#251)
1 parent 10e5992 commit ddd7708

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

packages/core/src/client/webcomponents/components/views-builtin/SettingsDocks.vue

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ function getCategoryLabel(category: string): string {
3333
}
3434
3535
function toggleDock(id: string, visible?: boolean) {
36+
if (id === '~settings')
37+
return
3638
const hidden = settings.value.docksHidden
3739
const isHidden = hidden.includes(id)
3840
const shouldShow = visible ?? isHidden
@@ -50,6 +52,8 @@ function toggleDock(id: string, visible?: boolean) {
5052
}
5153
5254
function toggleCategory(category: string, visible?: boolean) {
55+
if (category === '~builtin')
56+
return
5357
const hidden = settings.value.docksCategoriesHidden
5458
const isHidden = hidden.includes(category)
5559
const shouldShow = visible ?? isHidden
@@ -140,7 +144,10 @@ function resetCustomOrderForCategory(category: string) {
140144
>
141145
<button
142146
class="w-5 h-5 flex items-center justify-center rounded transition-colors"
143-
:class="settings.docksCategoriesHidden.includes(category) ? 'bg-gray/20' : 'bg-lime/20 text-lime'"
147+
:class="[
148+
category === '~builtin' ? 'bg-gray/20 cursor-not-allowed op50' : settings.docksCategoriesHidden.includes(category) ? 'bg-gray/20' : 'bg-lime/20 text-lime',
149+
]"
150+
:disabled="category === '~builtin'"
144151
@click="toggleCategory(category)"
145152
>
146153
<div
@@ -172,13 +179,14 @@ function resetCustomOrderForCategory(category: string) {
172179
<!-- Visibility toggle -->
173180
<button
174181
class="w-6 h-6 flex items-center justify-center rounded border border-transparent hover:border-base transition-colors shrink-0"
175-
:class="settings.docksHidden.includes(dock.id) ? 'op50' : ''"
176-
:title="settings.docksHidden.includes(dock.id) ? 'Show' : 'Hide'"
182+
:class="dock.id === '~settings' ? 'cursor-not-allowed op50' : settings.docksHidden.includes(dock.id) ? 'op50' : ''"
183+
:disabled="dock.id === '~settings'"
184+
:title="dock.id === '~settings' ? 'Always visible' : settings.docksHidden.includes(dock.id) ? 'Show' : 'Hide'"
177185
@click="toggleDock(dock.id)"
178186
>
179187
<div
180188
class="w-4 h-4 rounded flex items-center justify-center transition-colors"
181-
:class="settings.docksHidden.includes(dock.id) ? 'bg-gray/30' : 'bg-lime/20 text-lime'"
189+
:class="dock.id === '~settings' ? 'bg-gray/30' : settings.docksHidden.includes(dock.id) ? 'bg-gray/30' : 'bg-lime/20 text-lime'"
182190
>
183191
<div
184192
v-if="!settings.docksHidden.includes(dock.id)"

0 commit comments

Comments
 (0)