'use client'; import React, { useEffect, useState } from 'react'; import { useTheme } from 'next-themes'; import { Button, Dropdown, DropdownItem, DropdownMenu, DropdownTrigger } from '@nextui-org/react'; import { MdOutlineDarkMode, MdOutlineDesktopWindows, MdOutlineLightMode } from 'react-icons/md'; import { useScreenSizeTrigger } from '@/app/(pages)/public/screenSizeTrigger'; const switcherElements = new Map( [ [ 'dark', { 'display_name': 'Dark Mode', 'icon': } ], [ 'light', { 'display_name': 'Light Mode', 'icon': } ], [ 'system', { 'display_name': 'Follow System', 'icon': } ] ] ); function ThemeSwitcher() { const [ mounted, setMounted ] = useState(false); const { theme, setTheme } = useTheme(); const [ currTheme, setCurrTheme ] = useState(new Set([ theme as string ])); const isMobile = useScreenSizeTrigger('lg'); useEffect(() => { setMounted(true); }, []); if (!mounted) { return null; } return (
{ setCurrTheme(new Set([ anchorKey as string ])); setTheme(anchorKey as string); } } > }> Light Mode } > Dark Mode } > Follow System
); } export default ThemeSwitcher;