Spaces:
Configuration error
Configuration error
File size: 2,457 Bytes
7bbd534 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
'use client';
import type { AppProps } from 'next/app';
import { ChakraProvider, Box, Portal, useDisclosure } from '@chakra-ui/react';
import theme from '@/theme/theme';
import routes from '@/routes';
import Sidebar from '@/components/sidebar/Sidebar';
import Footer from '@/components/footer/FooterAdmin';
import Navbar from '@/components/navbar/NavbarAdmin';
import { getActiveRoute, getActiveNavbar } from '@/utils/navigation';
import { usePathname } from 'next/navigation';
import { useEffect, useState } from 'react';
import '@/styles/App.css';
import '@/styles/Contact.css';
import '@/styles/Plugins.css';
import '@/styles/MiniCalendar.css';
function App({ Component, pageProps }: AppProps<{}>) {
const pathname = usePathname();
const [apiKey, setApiKey] = useState('');
const { isOpen, onOpen, onClose } = useDisclosure();
useEffect(() => {
const initialKey = localStorage.getItem('apiKey');
if (initialKey?.includes('sk-') && apiKey !== initialKey) {
setApiKey(initialKey);
}
}, [apiKey]);
return (
<ChakraProvider theme={theme}>
<Box>
<Sidebar setApiKey={setApiKey} routes={routes} />
<Box
pt={{ base: '60px', md: '100px' }}
float="right"
minHeight="100vh"
height="100%"
overflow="auto"
position="relative"
maxHeight="100%"
w={{ base: '100%', xl: 'calc( 100% - 290px )' }}
maxWidth={{ base: '100%', xl: 'calc( 100% - 290px )' }}
transition="all 0.33s cubic-bezier(0.685, 0.0473, 0.346, 1)"
transitionDuration=".2s, .2s, .35s"
transitionProperty="top, bottom, width"
transitionTimingFunction="linear, linear, ease"
>
<Portal>
<Box>
<Navbar
setApiKey={setApiKey}
onOpen={onOpen}
logoText={'Horizon UI Dashboard PRO'}
brandText={getActiveRoute(routes, pathname)}
secondary={getActiveNavbar(routes, pathname)}
/>
</Box>
</Portal>
<Box
mx="auto"
p={{ base: '20px', md: '30px' }}
pe="20px"
minH="100vh"
pt="50px"
>
<Component apiKeyApp={apiKey} {...pageProps} />
</Box>
<Box>
<Footer />
</Box>
</Box>
</Box>
</ChakraProvider>
);
}
export default App;
|