1
- import { lazy , Suspense } from "react" ;
1
+ import { lazy , Suspense , useState } from "react" ;
2
2
import { Link , useLocation } from "react-router-dom" ;
3
3
import { useNetworkStatus } from "../hooks/useNetworkStatus" ;
4
4
import { usePaymasterWallets } from "../hooks/usePaymasterWallets" ;
@@ -11,6 +11,10 @@ const Bridge = lazy(() => import("./Bridge"));
11
11
const Usage = lazy ( ( ) => import ( "./Usage" ) ) ;
12
12
13
13
export default function Dashboard ( ) {
14
+ const [ isMenuOpen , setMenuOpen ] = useState ( false ) ;
15
+ const toggleMenu = ( ) => {
16
+ setMenuOpen ( ( prev ) => ! prev ) ;
17
+ } ;
14
18
const { pathname } = useLocation ( ) ; // Get current URL path
15
19
const { data, isLoading, error } = useNetworkStatus ( ) ;
16
20
const { data : wallets , isLoading : bal_isLoading , error : bal_error } = usePaymasterWallets ( ) ;
@@ -19,16 +23,50 @@ export default function Dashboard() {
19
23
< div className = "dashboard" >
20
24
< div className = "sidebar" >
21
25
{ /* Logo Wrapper */ }
22
- < a href = "/" className = "logoWrapper " >
23
- < div className = "logoSvg " >
26
+ < a href = "/" className = "logo-wrapper " >
27
+ < div className = "logo-svg " >
24
28
< img src = "/Strata_full_logo_sand.png" alt = "STRATA" />
25
29
</ div >
26
30
</ a >
27
- { /* Menu */ }
28
- < div className = "menu" >
29
- < Link to = "/" className = { `menu-item ${ pathname === "/" ? "active" : "" } ` } > Network</ Link >
30
- < Link to = "/bridge" className = { `menu-item ${ pathname === "/bridge" ? "active" : "" } ` } > Bridge</ Link >
31
- < Link to = "/usage" className = { `menu-item ${ pathname === "/usage" ? "active" : "" } ` } > Activity</ Link >
31
+ { /* Hamburger / Cross toggle — only shown on mobile */ }
32
+ < div className = "menu-button" onClick = { toggleMenu } >
33
+ { isMenuOpen ? (
34
+ < div className = "cross" >
35
+ < div className = "cross-bar" > </ div >
36
+ < div className = "cross-bar" > </ div >
37
+ </ div >
38
+ ) : (
39
+ < div className = "hamburger" >
40
+ < div className = "hamburger-bar" > </ div >
41
+ < div className = "hamburger-bar" > </ div >
42
+ < div className = "hamburger-bar" > </ div >
43
+ </ div >
44
+ ) }
45
+ </ div >
46
+
47
+ { /* Responsive menu dropdown (mobile) */ }
48
+ < div className = { `navbar-menu-wrapper ${ isMenuOpen ? "show-menu" : "" } ` } >
49
+ < Link
50
+ to = "/"
51
+ className = { `menu-item ${ pathname === "/" ? "active" : "" } ` }
52
+ onClick = { ( ) => setMenuOpen ( false ) }
53
+ >
54
+ Network
55
+ </ Link >
56
+ < Link
57
+ to = "/bridge"
58
+ className = { `menu-item ${ pathname === "/bridge" ? "active" : "" } ` }
59
+ onClick = { ( ) => setMenuOpen ( false ) }
60
+ >
61
+ Bridge
62
+ </ Link >
63
+ < Link
64
+ to = "/usage"
65
+ className = { `menu-item ${ pathname === "/usage" ? "active" : "" } ` }
66
+ onClick = { ( ) => setMenuOpen ( false ) }
67
+ >
68
+ Activity
69
+ </ Link >
32
70
</ div >
33
71
</ div >
34
72
0 commit comments