'use client';

import { useEffect } from 'react';
import { useTheme } from 'next-themes';

export function ThemeColorManager() {
  const { theme, systemTheme } = useTheme();

  useEffect(() => {
    const updateThemeColor = () => {
      const currentTheme = theme === 'system' ? systemTheme : theme;
      const meta = document.querySelector('meta[name="theme-color"]');
      
      if (!meta) {
        const newMeta = document.createElement('meta');
        newMeta.name = 'theme-color';
        document.head.appendChild(newMeta);
      }
      
      const themeColor = currentTheme === 'dark' 
        ? 'hsl(30 15% 8%)' // 深色模式背景色
        : 'hsl(0 0% 98%)'; // 浅色模式背景色
      
      document.querySelector('meta[name="theme-color"]')?.setAttribute('content', themeColor);
    };

    // Update on mount and theme change
    updateThemeColor();

    // Listen for system theme changes
    const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
    mediaQuery.addEventListener('change', updateThemeColor);

    return () => mediaQuery.removeEventListener('change', updateThemeColor);
  }, [theme, systemTheme]);

  return null;
}
