diff --git a/src/components/layout/AppTabBar.vue b/src/components/layout/AppTabBar.vue index 7f769cccf..ff9f0c98e 100644 --- a/src/components/layout/AppTabBar.vue +++ b/src/components/layout/AppTabBar.vue @@ -12,7 +12,9 @@ import { import { Tooltip, TooltipTrigger, TooltipContent } from "@/components/ui/tooltip"; import { useQueryStore } from "@/stores/queryStore"; import { useTabScroll } from "@/composables/useTabScroll"; -import { tabDisplayTitle, tabTooltipLines } from "@/lib/tabPresentation"; +import { connectionColor, tabDisplayTitle, tabTooltipLines } from "@/lib/tabPresentation"; +import { hexToRgba } from "@/lib/color"; +import type { QueryTab } from "@/types/database"; const { t } = useI18n(); const queryStore = useQueryStore(); @@ -41,6 +43,19 @@ watch( }); }, ); + +function tabColorStyle(tab: QueryTab) { + const color = connectionColor(tab.connectionId); + const isActive = tab.id === queryStore.activeTabId; + if (!color) { + return isActive ? { boxShadow: "0 1px 0 0 var(--color-background)" } : undefined; + } + + return { + backgroundColor: hexToRgba(color, isActive ? 0.16 : 0.07), + boxShadow: isActive ? `inset 0 -2px 0 ${color}` : undefined, + }; +}