import{r as e}from"./rolldown-runtime-hePW80VL.js";import{di as t}from"./lucide-icons-6JcOMNkr.js";import{t as n}from"./useAppContext-DVsgK-HT.js";import{n as r}from"./useEncryptedSettings-Xhb6VgJS.js";import{t as i}from"./useCurrentUser-CgUH2vq7.js";var a=e(t(),1);function o(e){return e===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:e}function s(){let{config:e,updateConfig:t}=n(),{updateSettings:s}=r(),{user:c}=i(),l=(0,a.useCallback)(e=>{let n=document.createElement(`style`);n.textContent=`*, *::before, *::after { transition: none !important; }`,document.head.appendChild(n),document.documentElement.className=o(e),requestAnimationFrame(()=>n.remove()),t(t=>({...t,theme:e})),c&&s.mutateAsync({theme:e}).catch(e=>{console.error(`Failed to sync theme to encrypted storage:`,e)})},[t,s,c]);return{theme:e.theme,setTheme:l}}export{o as n,s as t};