|
1 | 1 | import '../styles/globals.css';
|
2 |
| -import { useState } from 'react'; |
3 | 2 | import { type AppProps } from 'next/app';
|
4 | 3 | import Head from 'next/head';
|
5 | 4 | import PlausibleProvider from 'next-plausible';
|
6 | 5 | import { useRouter } from 'next/router';
|
7 | 6 | import { MDXProvider } from '@mdx-js/react';
|
8 |
| -import { Box, useMediaQuery } from '@mui/material'; |
9 | 7 | import { ThemeContextProvider } from '../styles/ThemeContext';
|
10 | 8 | import { mdxComponents } from '../components/mdx/mdxComponents';
|
11 |
| -import { TopBar } from '../components/navigation/TopBar'; |
12 |
| -import { SideBar } from '../components/navigation/Sidebar'; |
13 |
| -import { BreadCrumbs } from '../components/navigation/BreadCrumbs'; |
14 |
| -import { MiniNav } from '../components/navigation/MiniNav'; |
15 |
| -import { Footer } from '../components/navigation/Footer'; |
| 9 | +import { Layout } from '../components/navigation/Layout'; |
16 | 10 |
|
17 | 11 | function App({ Component, pageProps }: AppProps) {
|
18 | 12 | const { pathname } = useRouter();
|
19 | 13 |
|
20 |
| - const showBreadCrumbs = pathname !== '/'; |
21 |
| - const showMiniNav = |
22 |
| - pathname.includes('/docs/getting-started') || |
23 |
| - pathname.includes('/docs/api/mrt') || |
24 |
| - pathname.includes('/docs/guides/') || |
25 |
| - pathname.includes('/migrating') || |
26 |
| - pathname === '/about' || |
27 |
| - pathname === '/changelog' || |
28 |
| - pathname === '/roadmap'; |
29 |
| - |
30 |
| - const isMobile = useMediaQuery('(max-width: 900px)'); |
31 |
| - const isDesktop = useMediaQuery('(min-width: 1500px)'); |
32 |
| - const isXLDesktop = useMediaQuery('(min-width: 1800px)'); |
33 |
| - |
34 |
| - const [navOpen, setNavOpen] = useState(false); |
35 |
| - |
36 | 14 | return (
|
37 | 15 | <>
|
38 | 16 | <Head>
|
@@ -71,41 +49,9 @@ function App({ Component, pageProps }: AppProps) {
|
71 | 49 | >
|
72 | 50 | <ThemeContextProvider>
|
73 | 51 | <MDXProvider components={mdxComponents}>
|
74 |
| - <TopBar navOpen={navOpen || isDesktop} setNavOpen={setNavOpen} /> |
75 |
| - <SideBar navOpen={navOpen || isDesktop} setNavOpen={setNavOpen} /> |
76 |
| - <Box |
77 |
| - component="main" |
78 |
| - sx={(theme) => ({ |
79 |
| - backgroundColor: theme.palette.background.default, |
80 |
| - color: theme.palette.text.primary, |
81 |
| - minHeight: '100vh', |
82 |
| - p: `64px ${showMiniNav && isXLDesktop ? '250px' : '32px'} 0 ${ |
83 |
| - (navOpen || isDesktop) && !isMobile ? '320px' : '32px' |
84 |
| - }`, |
85 |
| - transition: 'all 100ms ease-in-out', |
86 |
| - })} |
87 |
| - > |
88 |
| - <Box |
89 |
| - sx={{ |
90 |
| - maxWidth: '1200px', |
91 |
| - margin: 'auto', |
92 |
| - transition: 'all 100ms ease-in-out', |
93 |
| - width: '100%', |
94 |
| - }} |
95 |
| - > |
96 |
| - {showBreadCrumbs && <BreadCrumbs />} |
97 |
| - {showMiniNav && !isXLDesktop && <MiniNav />} |
98 |
| - {pathname === '/' ? ( |
99 |
| - <Component {...pageProps} /> |
100 |
| - ) : ( |
101 |
| - <article> |
102 |
| - <Component {...pageProps} /> |
103 |
| - </article> |
104 |
| - )} |
105 |
| - <Footer /> |
106 |
| - </Box> |
107 |
| - {showMiniNav && isXLDesktop && <MiniNav />} |
108 |
| - </Box> |
| 52 | + <Layout> |
| 53 | + <Component {...pageProps} /> |
| 54 | + </Layout> |
109 | 55 | </MDXProvider>
|
110 | 56 | </ThemeContextProvider>
|
111 | 57 | </PlausibleProvider>
|
|
0 commit comments