@@ -13,7 +13,7 @@ import {
13
13
DropdownMenuTrigger ,
14
14
} from "@/components/ui/dropdown-menu" ;
15
15
import { Moon , Sun , UserCircle , Question , ArrowRight , Code , BuildingOffice } from "@phosphor-icons/react" ;
16
- import { useIsMobileWidth } from "@/app/common/utils" ;
16
+ import { useIsDarkMode , useIsMobileWidth } from "@/app/common/utils" ;
17
17
import LoginPrompt from "../Prompt/Prompt" ;
18
18
import { Button } from "@/components/ui/button" ;
19
19
import { SidebarMenu , SidebarMenuButton , SidebarMenuItem } from "@/components/ui/sidebar" ;
@@ -49,44 +49,10 @@ export default function FooterMenu({ sideBarIsOpen }: NavMenuProps) {
49
49
error : authenticationError ,
50
50
isLoading : authenticationLoading ,
51
51
} = useAuthenticatedData ( ) ;
52
- const [ darkMode , setDarkMode ] = useState ( false ) ;
53
- const [ initialLoadDone , setInitialLoadDone ] = useState ( false ) ;
52
+ const [ darkMode , setDarkMode ] = useIsDarkMode ( ) ;
54
53
const [ showLoginPrompt , setShowLoginPrompt ] = useState ( false ) ;
55
54
const isMobileWidth = useIsMobileWidth ( ) ;
56
55
57
- useEffect ( ( ) => {
58
- if ( localStorage . getItem ( "theme" ) === "dark" ) {
59
- document . documentElement . classList . add ( "dark" ) ;
60
- setDarkMode ( true ) ;
61
- } else if ( localStorage . getItem ( "theme" ) === "light" ) {
62
- document . documentElement . classList . remove ( "dark" ) ;
63
- setDarkMode ( false ) ;
64
- } else {
65
- const mq = window . matchMedia ( "(prefers-color-scheme: dark)" ) ;
66
-
67
- if ( mq . matches ) {
68
- document . documentElement . classList . add ( "dark" ) ;
69
- setDarkMode ( true ) ;
70
- }
71
- }
72
-
73
- setInitialLoadDone ( true ) ;
74
- } , [ ] ) ;
75
-
76
- useEffect ( ( ) => {
77
- if ( ! initialLoadDone ) return ;
78
- toggleDarkMode ( darkMode ) ;
79
- } , [ darkMode , initialLoadDone ] ) ;
80
-
81
- function toggleDarkMode ( darkMode : boolean ) {
82
- if ( darkMode ) {
83
- document . documentElement . classList . add ( "dark" ) ;
84
- } else {
85
- document . documentElement . classList . remove ( "dark" ) ;
86
- }
87
- localStorage . setItem ( "theme" , darkMode ? "dark" : "light" ) ;
88
- }
89
-
90
56
const menuItems = [
91
57
{
92
58
title : "Help" ,
0 commit comments