From 7f70cb15d035f0c233b9e62b9e43aa985317c908 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 04 十一月 2024 10:22:45 +0800 Subject: [PATCH] # --- zy-acs-flow/src/page/settings/Settings.jsx | 109 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 73 insertions(+), 36 deletions(-) diff --git a/zy-acs-flow/src/page/settings/Settings.jsx b/zy-acs-flow/src/page/settings/Settings.jsx index c8a2594..7833c47 100644 --- a/zy-acs-flow/src/page/settings/Settings.jsx +++ b/zy-acs-flow/src/page/settings/Settings.jsx @@ -1,4 +1,5 @@ import React, { useState, useRef, useEffect, useMemo } from "react"; +import { useNavigate } from 'react-router-dom'; import { Edit, SimpleForm, @@ -15,43 +16,28 @@ required, useRecordContext, useTheme, + useAuthProvider, } from 'react-admin'; import { useWatch, useFormContext } from "react-hook-form"; import { Stack, Grid, Box, Typography, Card, CardContent, Tabs, Tab } from '@mui/material'; import * as Common from '@/utils/common'; import { } from '@/config/setting'; -function TabPanel(props) { - const { children, value, index, ...other } = props; - - return ( - <div - role="tabpanel" - hidden={value !== index} - id={`vertical-tabpanel-${index}`} - aria-labelledby={`vertical-tab-${index}`} - {...other} - > - {value === index && ( - <Box sx={{ p: 3 }}> - <Typography>{children}</Typography> - </Box> - )} - </div> - ); -} - -function a11yProps(index) { - return { - id: `vertical-tab-${index}`, - 'aria-controls': `vertical-tabpanel-${index}`, - }; -} - const Settings = () => { + const authProvider = useAuthProvider(); + const navigate = useNavigate(); const translate = useTranslate(); const theme = useTheme(); const [value, setValue] = React.useState(0); + + useEffect(() => { + authProvider.checkAuth().catch(() => { + navigate('/login'); + }); + }, [authProvider, navigate]); + + useEffect(() => { + }, [value]); return ( <> @@ -80,18 +66,25 @@ sx={{ borderRight: 1, borderColor: 'divider', - width: 150 + width: 150, }} > - <Tab label={translate('settings.base')} {...a11yProps(0)} /> - <Tab label={translate('settings.security')} {...a11yProps(1)} /> + <Tab + label={translate('settings.base')} + id='vertical-tab-0' + aria-controls='vertical-tabpanel-0' + /> + <Tab label={translate('settings.security')} + id='vertical-tab-1' + aria-controls='vertical-tabpanel-1' + /> </Tabs> - <TabPanel value={value} index={0}> - {translate('settings.base')} - </TabPanel> - <TabPanel value={value} index={1}> - {translate('settings.security')} - </TabPanel> + <BaseSettings + value={value} + /> + <SecuritySettings + value={value} + /> </Box> </CardContent> </Card> @@ -99,4 +92,48 @@ ) } +const BaseSettings = (props) => { + const { children, value, ...other } = props; + + return ( + <Box + hidden={value !== 0} + sx={{ p: 3 }} + {...other} + > + <Grid container spacing={6}> + <Grid item xs={12}> + {/* https://github.com/themeselection/materio-mui-nextjs-admin-template-free/blob/main/javascript-version/src/views/account-settings/account/AccountDetails.jsx */} + <Card> + <CardContent className='mbe-5'> + <Typography> + Base Settings + </Typography> + </CardContent> + </Card> + + </Grid> + </Grid> + </Box> + + ) +} + +const SecuritySettings = (props) => { + const { children, value, ...other } = props; + + return ( + <Box + hidden={value !== 1} + sx={{ p: 3 }} + {...other} + > + <Typography> + Security Settings + </Typography> + </Box> + + ) +} + export default Settings; \ No newline at end of file -- Gitblit v1.9.1