From ab98eaa3ba0263fff43aec1df7cae4d6b9f7f7cb Mon Sep 17 00:00:00 2001 From: ran Date: Tue, 16 Jan 2024 11:21:46 +0800 Subject: [PATCH] Change the selected button to a slider --- client/src/components/popup/preferences.tsx | 47 ++++++++++++++++++--- client/src/css/welcome.css | 2 +- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/client/src/components/popup/preferences.tsx b/client/src/components/popup/preferences.tsx index ee24d6c..2b6d29b 100644 --- a/client/src/components/popup/preferences.tsx +++ b/client/src/components/popup/preferences.tsx @@ -2,16 +2,41 @@ import * as React from 'react' import { Input, Typography } from '@mui/material' import Markdown from '../markdown' import { Switch, Button, ButtonGroup } from '@mui/material'; +import Box from '@mui/material/Box'; +import Slider from '@mui/material/Slider'; import FormControlLabel from '@mui/material/FormControlLabel'; import { IPreferencesContext } from "../infoview/context" -interface PreferencesPopupProps extends IPreferencesContext{ +interface PreferencesPopupProps extends IPreferencesContext { handleClose: () => void } -export function PreferencesPopup({ layout, setLayout, isSavePreferences, setIsSavePreferences, handleClose }: PreferencesPopupProps) { +export function PreferencesPopup({ layout, setLayout, isSavePreferences, setIsSavePreferences, handleClose }: PreferencesPopupProps) { + + const marks = [ + { + value: 0, + label: 'Mobile', + key: "mobile" + }, + { + value: 1, + label: 'Auto', + key: "auto" + }, + { + value: 2, + label: 'Desktop', + key: "desktop" + }, + ]; + + const handlerChangeLayout = (_: Event, value: number) => { + setLayout(marks[value].key as IPreferencesContext["layout"]) + } + return
@@ -24,11 +49,19 @@ export function PreferencesPopup({ layout, setLayout, isSavePreferences, setIsSa
- - - - + + item.key === layout).value} + step={1} + marks={marks} + max={2} + sx={{ + '& .MuiSlider-track': { display: 'none', }, + }} + onChange={handlerChangeLayout} + /> + } label="" /> diff --git a/client/src/css/welcome.css b/client/src/css/welcome.css index 387bc48..e48f7d0 100644 --- a/client/src/css/welcome.css +++ b/client/src/css/welcome.css @@ -197,5 +197,5 @@ h5, h6 { } .preferences-item.leave-left-gap{ - margin-left: 1em; + margin-left: 3em; } \ No newline at end of file