diff --git a/assets/App.tsx b/assets/App.tsx index 5c682ca..f2f7239 100644 --- a/assets/App.tsx +++ b/assets/App.tsx @@ -1,4 +1,4 @@ -import {Button, ConfigProvider, Flex, FloatButton, Layout, theme, Tooltip, Typography} from 'antd' +import {Button, ConfigProvider, Drawer, Flex, FloatButton, Layout, theme, Tooltip, Typography} from 'antd' import {Link, Navigate, Route, Routes, useLocation, useNavigate} from 'react-router-dom' import TextPage from './pages/TextPage' import DomainSearchPage from './pages/search/DomainSearchPage' @@ -7,7 +7,7 @@ import TldPage from './pages/infrastructure/TldPage' import StatisticsPage from './pages/StatisticsPage' import WatchlistPage from './pages/tracking/WatchlistPage' import UserPage from './pages/UserPage' -import React, {useCallback, useEffect, useMemo, useState} from 'react' +import React, {PropsWithChildren, useCallback, useEffect, useMemo, useState} from 'react' import {getUser} from './utils/api' import LoginPage, {AuthenticatedContext} from './pages/LoginPage' import ConnectorPage from './pages/tracking/ConnectorPage' @@ -25,6 +25,40 @@ const LICENSE_LINK = 'https://www.gnu.org/licenses/agpl-3.0.txt' const ProjectLink = Domain Watchdog const LicenseLink = AGPL-3.0-or-later +function SiderWrapper(props: PropsWithChildren<{sidebarCollapsed: boolean, setSidebarCollapsed: (collapsed: boolean) => void}>): React.ReactElement { + const {sidebarCollapsed, setSidebarCollapsed, children} = props + const sm = useBreakpoint('sm') + const location = useLocation() + + useEffect(() => { + if (sm) { + setSidebarCollapsed(false) + } + }, [location]) + + if (sm) { + return setSidebarCollapsed(false)} + closeIcon={null} + styles={{body: {padding: 0, height: '100%', background: '#001529'}}} + width='200px'> + {children} + + } else { + return + {children} + + } +} + export default function App(): React.ReactElement { const navigate = useNavigate() const location = useLocation() @@ -76,9 +110,9 @@ export default function App(): React.ReactElement { > - + - + {sm &&