11'use client' ;
22
33import '../../globals.css' ;
4- import { useMemo } from 'react' ;
54import { SessionProvider } from 'next-auth/react' ;
6- import { defaultNetworkId , NetworkId , networks } from '@auto-drive/ui' ;
7- import { NetworkProvider } from 'contexts/network' ;
8- import { useRouter } from 'next/navigation' ;
5+ import { useNetwork } from 'contexts/network' ;
96import { TopNavbar } from '@/components/organisms/TopNavbar' ;
107import { TableRouteChangeListener } from '@/components/organisms/FileTable/TableRouteChangeListener' ;
118import { SidebarProvider } from '@/components/molecules/Sidebar' ;
@@ -15,41 +12,29 @@ import { AutomaticLoginWrapper } from '../../../components/atoms/AutomaticLoginW
1512
1613export default function AppLayout ( {
1714 children,
18- params,
1915} : Readonly < {
2016 children : React . ReactNode ;
21- params : { chain : NetworkId } ;
2217} > ) {
23- const router = useRouter ( ) ;
24-
25- const network = useMemo ( ( ) => {
26- return networks [ params . chain ] || null ;
27- } , [ params . chain ] ) ;
28- if ( ! network ) {
29- router . replace ( `/${ defaultNetworkId } /drive` ) ;
30- return null ;
31- }
18+ const { network } = useNetwork ( ) ;
3219
3320 return (
3421 < div className = 'flex min-h-screen bg-background' >
3522 < AutomaticLoginWrapper >
3623 < SessionProvider >
37- < NetworkProvider network = { network } >
38- < SessionEnsurer >
39- < SidebarProvider className = 'contents' >
40- < SideNavbar networkId = { params . chain } />
41- < div className = 'flex h-screen flex-1 flex-col rounded-lg bg-background text-foreground' >
42- < TopNavbar networkId = { params . chain } />
43- < div className = 'flex flex-1 overflow-hidden' >
44- < main className = 'flex-1 overflow-auto px-6 pb-6' >
45- < TableRouteChangeListener />
46- { children }
47- </ main >
48- </ div >
24+ < SessionEnsurer >
25+ < SidebarProvider className = 'contents' >
26+ < SideNavbar networkId = { network . id } />
27+ < div className = 'flex h-screen flex-1 flex-col rounded-lg bg-background text-foreground' >
28+ < TopNavbar networkId = { network . id } />
29+ < div className = 'flex flex-1 overflow-hidden' >
30+ < main className = 'flex-1 overflow-auto px-6 pb-6' >
31+ < TableRouteChangeListener />
32+ { children }
33+ </ main >
4934 </ div >
50- </ SidebarProvider >
51- </ SessionEnsurer >
52- </ NetworkProvider >
35+ </ div >
36+ </ SidebarProvider >
37+ </ SessionEnsurer >
5338 </ SessionProvider >
5439 </ AutomaticLoginWrapper >
5540 </ div >
0 commit comments