gitscope
https://dev.kronoz.win/r/marzneshin.git
app/dashboard/src/components/page/index.tsx · v0.1.4
Source
1 bedeeff Mardin 2y ago import { Box, VStack } from '@chakra-ui/react';
2 5825ea4 Mardin 2y ago import { FC, PropsWithChildren, useEffect } from 'react';
3 5825ea4 Mardin 2y ago import { useDashboard } from 'stores';
4 5825ea4 Mardin 2y ago import { PageType } from 'types';
5 5825ea4 Mardin 2y ago
6 5825ea4 Mardin 2y ago const usePage = (page: PageType) => {
7 5825ea4 Mardin 2y ago useEffect(() => {
8 5825ea4 Mardin 2y ago useDashboard.getState().activatePage(page);
9 5825ea4 Mardin 2y ago }, []);
10 5825ea4 Mardin 2y ago };
11 5825ea4 Mardin 2y ago
12 5825ea4 Mardin 2y ago type PageProp = {
13 5825ea4 Mardin 2y ago page: PageType;
14 5825ea4 Mardin 2y ago }
15 5825ea4 Mardin 2y ago
16 5825ea4 Mardin 2y ago export const Page: FC<PropsWithChildren<PageProp>> = ({ page, children }) => {
17 5825ea4 Mardin 2y ago usePage(page);
18 bedeeff Mardin 2y ago
19 bedeeff Mardin 2y ago return (
20 bedeeff Mardin 2y ago <VStack justifyContent="space-between" mt={4} rowGap={4}>
21 bedeeff Mardin 2y ago <Box w="full">
22 bedeeff Mardin 2y ago {children}
23 bedeeff Mardin 2y ago </Box>
24 bedeeff Mardin 2y ago </VStack>
25 bedeeff Mardin 2y ago );
26 bedeeff Mardin 2y ago };
27 bedeeff Mardin 2y ago
28 bedeeff Mardin 2y ago export default Page;