diff --git a/src/pages/setting.tsx b/src/pages/setting.tsx index f367828f9fe848fa8e1fa26e1cbf5095cfee573e..002dea44f83578f7e1951a3090323263c35b0139 100644 --- a/src/pages/setting.tsx +++ b/src/pages/setting.tsx @@ -1,22 +1,81 @@ -import { Box } from "@mui/system"; import { useRecoilState } from "recoil"; +import { + Box, + List, + ListItem, + ListItemText, + ListSubheader, + Typography, + TextField, + styled, + Switch, + Select, + MenuItem, +} from "@mui/material"; import { atomPaletteMode } from "../states/setting"; import PaletteSwitch from "../components/palette-switch"; +const MiniListItem = styled(ListItem)(({ theme }) => ({ + paddingTop: 5, + paddingBottom: 5, +})); + const SettingPage = () => { const [mode, setMode] = useRecoilState(atomPaletteMode); return ( - <Box> - <h1>Setting</h1> - - <Box> - <PaletteSwitch - checked={mode !== "light"} - onChange={(_e, c) => setMode(c ? "dark" : "light")} - inputProps={{ "aria-label": "controlled" }} - /> - </Box> + <Box sx={{ width: 0.9, maxWidth: "850px", mx: "auto", mb: 2 }}> + <Typography variant="h4" component="h1" sx={{ py: 2 }}> + Setting + </Typography> + + <List sx={{ borderRadius: 1, boxShadow: 2 }}> + <ListSubheader>通用设置</ListSubheader> + + <MiniListItem> + <ListItemText primary="外观主题" /> + <PaletteSwitch + edge="end" + checked={mode !== "light"} + onChange={(_e, c) => setMode(c ? "dark" : "light")} + /> + </MiniListItem> + + <MiniListItem> + <ListItemText primary="开机自å¯" /> + <Switch edge="end" /> + </MiniListItem> + + <MiniListItem> + <ListItemText primary="设置系统代ç†" /> + <Switch edge="end" /> + </MiniListItem> + + <MiniListItem> + <ListItemText primary="局域网连接" /> + <Switch edge="end" /> + </MiniListItem> + + <MiniListItem> + <ListItemText primary="IPv6" /> + <Switch edge="end" /> + </MiniListItem> + + <MiniListItem> + <ListItemText primary="日志ç‰çº§" /> + <Select size="small" sx={{ width: 120 }}> + <MenuItem value="debug">Debug</MenuItem> + <MenuItem value="info">Info</MenuItem> + <MenuItem value="warning">Warning</MenuItem> + <MenuItem value="error">Error</MenuItem> + </Select> + </MiniListItem> + + <MiniListItem> + <ListItemText primary="æ··åˆä»£ç†ç«¯å£" /> + <TextField size="small" defaultValue={7890} sx={{ width: 120 }} /> + </MiniListItem> + </List> </Box> ); };