@@ -6,7 +6,7 @@ import { computed, h, ref, useTemplateRef } from 'vue'
66import { deriveSidebarCapacity , docksSplitGroupsWithCapacity , getGroupMembersGrouped } from ' ../../state/dock-settings'
77import { sharedStateToRef } from ' ../../state/docks'
88import { setDocksSidebarOverflowPanel , setFloatingTooltip , useDocksSidebarOverflowPanel } from ' ../../state/floating-tooltip'
9- import { accentActiveStyle , accentTextStyle } from ' ../../utils/accent-color'
9+ import { accentVarStyle } from ' ../../utils/accent-color'
1010import DockGroupPopover from ' ./DockGroupPopover.vue'
1111import DockIcon from ' ./DockIcon.vue'
1212
@@ -126,22 +126,21 @@ watchDebounced(
126126
127127// Highlight the button when the hidden selection lives here, or while open.
128128const moreButtonActive = computed (() => selectedInOverflow .value || isOverflowPanelVisible .value )
129-
130- // Accent styling, mirroring DockGroupPopover: falls back to the default
131- // Uno classes below when the group sets no `accentColor`.
132- const anchorStyle = computed (() => accentTextStyle (props .group .accentColor ))
133- function memberStyle(memberId : string ) {
134- return props .selectedId === memberId ? accentActiveStyle (props .group .accentColor ) : undefined
135- }
136- const moreButtonStyle = computed (() => (moreButtonActive .value ? accentActiveStyle (props .group .accentColor ) : undefined ))
137129 </script >
138130
139131<template >
140- <div ref =" sidebar" class =" devframes-group-sidebar flex flex-col flex-none w-12 h-full border-r border-base of-y-hidden of-x-hidden select-none py1.5 items-center gap-0.5" >
132+ <!-- The group's accentColor overrides -- devframe-primary for the whole rail,
133+ so the anchor + selected members' text-primary/bg-active render accent. -->
134+ <div
135+ ref =" sidebar"
136+ class =" devframes-group-sidebar flex flex-col flex-none w-12 h-full border-r border-base of-y-hidden of-x-hidden select-none py1.5 items-center gap-0.5"
137+ :class =" group.accentColor ? 'devframes-accent-scope' : ''"
138+ :style =" accentVarStyle(group.accentColor)"
139+ >
141140 <!-- Group anchor -->
142141 <div
143142 class =" flex items-center justify-center w-8 h-8 op60"
144- :style = " anchorStyle "
143+ :class = " group.accentColor ? 'color-active' : '' "
145144 @pointerenter =" showTooltip($event, group.title)"
146145 @pointerleave =" hideTooltip"
147146 >
@@ -158,8 +157,7 @@ const moreButtonStyle = computed(() => (moreButtonActive.value ? accentActiveSty
158157 :key =" member.id"
159158 :aria-label =" member.title"
160159 class =" relative flex items-center justify-center w-8 h-8 rounded-lg transition"
161- :class =" selectedId === member.id ? (group.accentColor ? '' : 'text-primary bg-active') : 'op60 hover:op100 hover:bg-active'"
162- :style =" memberStyle(member.id)"
160+ :class =" selectedId === member.id ? 'text-primary bg-active' : 'op60 hover:op100 hover:bg-active'"
163161 @pointerenter =" showTooltip($event, member.title)"
164162 @pointerleave =" hideTooltip"
165163 @pointerdown =" hideTooltip"
@@ -181,8 +179,7 @@ const moreButtonStyle = computed(() => (moreButtonActive.value ? accentActiveSty
181179 ref =" moreButton"
182180 aria-label =" Show more"
183181 class =" relative flex items-center justify-center w-8 h-8 rounded-lg transition mt-auto flex-none"
184- :class =" moreButtonActive ? (group.accentColor ? '' : 'text-primary bg-active') : 'op60 hover:op100 hover:bg-active'"
185- :style =" moreButtonStyle"
182+ :class =" moreButtonActive ? 'text-primary bg-active' : 'op60 hover:op100 hover:bg-active'"
186183 @pointerenter =" showTooltip($event, 'Show more')"
187184 @pointerleave =" hideTooltip"
188185 @pointerdown =" hideTooltip"
0 commit comments