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 |  135 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 126 insertions(+), 9 deletions(-)

diff --git a/zy-acs-flow/src/page/settings/Settings.jsx b/zy-acs-flow/src/page/settings/Settings.jsx
index d995c57..7833c47 100644
--- a/zy-acs-flow/src/page/settings/Settings.jsx
+++ b/zy-acs-flow/src/page/settings/Settings.jsx
@@ -1,22 +1,139 @@
 import React, { useState, useRef, useEffect, useMemo } from "react";
-import Player from "../../map/player";
-
-let player;
+import { useNavigate } from 'react-router-dom';
+import {
+    Edit,
+    SimpleForm,
+    FormDataConsumer,
+    useTranslate,
+    TextInput,
+    NumberInput,
+    BooleanInput,
+    SaveButton,
+    SelectInput,
+    Toolbar,
+    Labeled,
+    NumberField,
+    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';
 
 const Settings = () => {
-    const mapRef = React.useRef();
-
+    const authProvider = useAuthProvider();
+    const navigate = useNavigate();
+    const translate = useTranslate();
+    const theme = useTheme();
+    const [value, setValue] = React.useState(0);
 
     useEffect(() => {
-        player = new Player(mapRef.current)
-    }, [])
+        authProvider.checkAuth().catch(() => {
+            navigate('/login');
+        });
+    }, [authProvider, navigate]);
+
+    useEffect(() => {
+    }, [value]);
 
     return (
         <>
-            <h1>Settings</h1>
-            <div ref={mapRef} ></div>
+            <Card sx={{ backgroundColor: 'initial' }}>
+                <CardContent >
+                    <Box
+                        mt={2}
+                        sx={{
+                            flexGrow: 1,
+                            bgcolor: 'background.paper',
+                            display: 'flex',
+                            height: 224,
+                            border: `1px solid #${theme[0] === 'light' ? 'ddd' : '333'}`,
+                            borderRadius: 2
+                        }}
+                    >
+                        <Tabs
+                            orientation="vertical"
+                            variant="scrollable"
+                            value={value}
+                            onChange={(event, newValue) => {
+                                setValue(newValue);
+                            }}
+                            indicatorColor="secondary"
+                            textColor="inherit"
+                            sx={{
+                                borderRight: 1,
+                                borderColor: 'divider',
+                                width: 150,
+                            }}
+                        >
+                            <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>
+                        <BaseSettings
+                            value={value}
+                        />
+                        <SecuritySettings
+                            value={value}
+                        />
+                    </Box>
+                </CardContent>
+            </Card>
         </>
     )
 }
 
+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