diff --git a/apps/staged/src/lib/features/projects/ProjectsList.svelte b/apps/staged/src/lib/features/projects/ProjectsList.svelte
index d516bb6d5..af460ed93 100644
--- a/apps/staged/src/lib/features/projects/ProjectsList.svelte
+++ b/apps/staged/src/lib/features/projects/ProjectsList.svelte
@@ -35,6 +35,7 @@
import { setProjects } from './projectsSidebarState.svelte';
import { darkMode } from '../../stores/isDark.svelte';
import { repoBadgeStore } from '../../stores/repoBadges.svelte';
+ import { badgeBg, badgeFg, badgeBgHover } from '../../shared/badgeColors';
type FilterKind = 'unread' | 'running' | { repo: string; subpath: string };
@@ -454,7 +455,7 @@
class:active
onclick={() => toggleFilter(filter)}
style={badge
- ? `--repo-bg: ${darkMode.value ? `hsl(${badge.hue} 35% 22%)` : `hsl(${badge.hue} 50% 92%)`}; --repo-fg: ${darkMode.value ? `hsl(${badge.hue} 50% 75%)` : `hsl(${badge.hue} 55% 35%)`}; --repo-bg-hover: ${darkMode.value ? `hsl(${badge.hue} 35% 28%)` : `hsl(${badge.hue} 50% 88%)`}`
+ ? `--repo-bg: ${badgeBg(badge.hue, darkMode.value)}; --repo-fg: ${badgeFg(badge.hue, darkMode.value)}; --repo-bg-hover: ${badgeBgHover(badge.hue, darkMode.value)}`
: ''}
>
@@ -554,11 +555,10 @@
{#if badge}
@@ -573,11 +573,10 @@
{#if badge}
diff --git a/apps/staged/src/lib/features/projects/SuggestedRepos.svelte b/apps/staged/src/lib/features/projects/SuggestedRepos.svelte
index da220fa13..51e77c7e7 100644
--- a/apps/staged/src/lib/features/projects/SuggestedRepos.svelte
+++ b/apps/staged/src/lib/features/projects/SuggestedRepos.svelte
@@ -14,6 +14,7 @@
import { repoBadgeStore } from '../../stores/repoBadges.svelte';
import { darkMode } from '../../stores/isDark.svelte';
import RepoLabel from '../../shared/RepoLabel.svelte';
+ import * as badge from '../../shared/badgeColors';
import Spinner from '../../shared/Spinner.svelte';
import { getStoreValue, setStoreValue } from '../../shared/persistentStore';
@@ -114,25 +115,7 @@
return repoBadgeStore.lookup(suggestion.githubRepo, suggestion.subpath)?.hue ?? 210;
}
- function badgeBg(hue: number): string {
- return darkMode.value ? `hsl(${hue} 35% 22%)` : `hsl(${hue} 50% 92%)`;
- }
-
- function badgeFg(hue: number): string {
- return darkMode.value ? `hsl(${hue} 50% 75%)` : `hsl(${hue} 55% 35%)`;
- }
-
- function badgeBorder(hue: number): string {
- return darkMode.value ? `hsl(${hue} 35% 32%)` : `hsl(${hue} 45% 82%)`;
- }
-
- function badgeBgHover(hue: number): string {
- return darkMode.value ? `hsl(${hue} 40% 30%)` : `hsl(${hue} 60% 85%)`;
- }
-
- function badgeBorderHover(hue: number): string {
- return darkMode.value ? `hsl(${hue} 45% 45%)` : `hsl(${hue} 50% 65%)`;
- }
+ const dark = $derived(darkMode.value);
{#if dismissLoaded && !dismissed && suggestions.length > 0}
@@ -149,11 +132,16 @@
{@const isAdding = addingKey === suggestionKey(suggestion)}