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