| | |
| | | NumberField, |
| | | required, |
| | | useRecordContext, |
| | | DeleteButton, |
| | | useTheme, |
| | | } from 'react-admin'; |
| | | import { useWatch, useFormContext } from "react-hook-form"; |
| | | import { Stack, Grid, Box, Typography, Card, CardContent } from '@mui/material'; |
| | | 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 translate = useTranslate(); |
| | | const theme = useTheme(); |
| | | const [value, setValue] = React.useState(0); |
| | | |
| | | return ( |
| | | <> |
| | | <Card> |
| | | <CardContent> |
| | | |
| | | <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')} {...a11yProps(0)} /> |
| | | <Tab label={translate('settings.security')} {...a11yProps(1)} /> |
| | | </Tabs> |
| | | <TabPanel value={value} index={0}> |
| | | {translate('settings.base')} |
| | | </TabPanel> |
| | | <TabPanel value={value} index={1}> |
| | | {translate('settings.security')} |
| | | </TabPanel> |
| | | </Box> |
| | | </CardContent> |
| | | </Card> |
| | | </> |