1- import { useEffect , useState } from 'react'
2-
31import { HiMenu , HiX } from 'react-icons/hi'
2+ import { MdOutlineLightMode , MdOutlineDarkMode } from 'react-icons/md'
3+ import { useTheme } from 'next-themes'
44
55import { useSchoolReportConfig } from '@/hooks/useSchoolReportConfig'
66import { useSidebar } from '@/hooks/useSidebar'
@@ -9,8 +9,12 @@ import { Input } from '@/components/input'
99
1010export const Sidebar = ( ) => {
1111 const { isOpen, toggleSidebar} = useSidebar ( )
12+
13+ const { systemTheme, theme, setTheme } = useTheme ( )
14+ const currentTheme = theme === 'system' ? systemTheme : theme
15+ const toggleTheme = ( ) => currentTheme === 'dark' ? setTheme ( 'light' ) : setTheme ( 'dark' )
16+
1217 const {
13- setSchoolReportColors,
1418 minimumAttendancePercentageToPass,
1519 setMinimumAttendancePercentageToPass,
1620 minimumPassingGrade,
@@ -19,31 +23,6 @@ export const Sidebar = () => {
1923 setMinimumRecoveryGrade
2024 } = useSchoolReportConfig ( )
2125
22- const [ toggleColor , setToggleColor ] = useState ( true )
23-
24- useEffect ( ( ) => {
25- toggleColor
26- ? setSchoolReportColors ( {
27- card : `bg-white` ,
28- border : `border-gray-950` ,
29- clippingBorder : `border-red-600` ,
30- signatures : `bg-gray-950` ,
31- text : `text-gray-950` ,
32- insufficientGrade : `text-red-600` ,
33- enoughGrade : `text-green-500`
34- } )
35- : setSchoolReportColors ( {
36- card : `bg-black` ,
37- border : `border-white` ,
38- clippingBorder : `border-red-600` ,
39- signatures : `bg-gray-100` ,
40- text : `text-gray-100` ,
41- insufficientGrade : `text-red-600` ,
42- enoughGrade : `text-green-500`
43- } )
44- } , [ setSchoolReportColors , toggleColor ] )
45-
46-
4726 return (
4827 < aside className = {
4928 `${ isOpen
@@ -117,13 +96,12 @@ export const Sidebar = () => {
11796 < p > content</ p >
11897 </ Details >
11998 < Details summary = 'Cores' >
120- { /* <select className='appearance-none'>
121- <option>cor1</option>
122- <option>cor2</option>
123- <option>cor2</option>
124- </select> */ }
125- < button className = 'w-full bg-gray-800 p-2 rounded-md' onClick = { ( ) => setToggleColor ( ! toggleColor ) } > test: toggleColor</ button >
126- < div className = { `${ toggleColor ? 'bg-white' : 'bg-black' } w-full h-4 mt-2 rounded-md` } />
99+ < button onClick = { toggleTheme } className = 'w-full hover:bg-shadow-5 hover:dark:bg-shadow-15 border border-shadow-15 flex items-center justify-center gap-2 py-1 rounded-md' >
100+ { currentTheme === 'dark'
101+ ? < MdOutlineLightMode className = 'text-xl' />
102+ : < MdOutlineDarkMode className = 'text-xl' />
103+ } Mudar Tema
104+ </ button >
127105 </ Details >
128106 </ div >
129107 }
0 commit comments