Files
dmenu-plus-front/src/components/ThemeColorSetter.tsx
T
hamid zarghami 82fddde315 fix menu color
2026-01-04 17:08:50 +03:30

29 lines
788 B
TypeScript

'use client'
import { useEffect } from 'react'
import { hexToOklch, calculateBrightness } from '@/lib/helpers/colorUtils'
export function ThemeColorSetter() {
useEffect(() => {
try {
const savedColor = localStorage.getItem('theme-primary-color')
if (savedColor) {
const oklchColor = hexToOklch(savedColor)
if (oklchColor) {
document.documentElement.style.setProperty('--primary', oklchColor)
const brightness = calculateBrightness(savedColor)
const foregroundOklch = brightness > 0.5 ? 'oklch(0 0 0)' : 'oklch(1 0 0)'
document.documentElement.style.setProperty('--primary-foreground', foregroundOklch)
}
}
} catch (e) {
// Silent fail
}
}, [])
return null
}