"use client";
import { Menu } from "@base-ui/react/menu";
import { Check, Monitor, Moon, Sun } from "lucide-react";
import { useSyncExternalStore } from "react";
import {
applyThemePreference,
readThemePreference,
subscribeThemePreference,
type ThemePreference,
} from "@/lib/theme-preference";
const options: ReadonlyArray<{ value: ThemePreference; label: string }> = [
{ value: "light", label: "浅色" },
{ value: "dark", label: "深色" },
{ value: "system", label: "跟随系统" },
];
function OptionIcon({ value }: { readonly value: ThemePreference }) {
if (value === "light") return ;
if (value === "dark") return ;
return ;
}
function useThemePreference() {
return useSyncExternalStore(
subscribeThemePreference,
readThemePreference,
() => "system" as ThemePreference,
);
}
export function ThemePreferencePanel() {
const preference = useThemePreference();
return (