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