All files / src/app/student-page/page/assignments/take-assignment/components VoiceVolume.jsx

0% Statements 0/12
100% Branches 0/0
0% Functions 0/5
0% Lines 0/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73                                                                                                                                                 
import Box from "@mui/material/Box";
import Slider from "@mui/material/Slider";
import Typography from "@mui/material/Typography";
import { _updateVoiceVolume } from "@/store/slices/student/StudentQuestionPage";
import { useDispatch, useSelector } from "react-redux";
import { Button } from "@mui/material";
 
const MAX = 1.5;
const MIN = 0.1;
const marks = [
    {
        value: MIN,
        label: "",
    },
    {
        value: MAX,
        label: "",
    },
];
 
export default function VoiceVolume() {
    const { settings } = useSelector((state) => state.StudentQuestionPage);
    const dispatch = useDispatch();
 
    const handleChange = (e, newValue) => {
        dispatch(_updateVoiceVolume(newValue));
    };
 
    const handleReset = () => {
        dispatch(_updateVoiceVolume(1)); // 1 is the default value
    };
 
    return (
        <Box sx={{ display: "flex", flexDirection: "column" }}>
            <Box sx={{ display: "flex", alignItems: "center", justifyContent: "space-between" }}>
                <Typography variant="caption" gutterBottom>
                    Volume
                </Typography>
                <Button
                    variant="text"
                    color="primary"
                    size="small"
                    onClick={() => {
                        handleReset();
                    }}
                >
                    Reset
                </Button>
            </Box>
            <Box sx={{ width: 180 }}>
                <Slider
                    marks={marks}
                    step={0.1}
                    value={settings.voice.volume}
                    valueLabelDisplay="off"
                    min={MIN}
                    max={MAX}
                    onChange={handleChange}
                />
 
                {/* <Box sx={{ display: "flex", justifyContent: "space-between" }}>
                    <Typography variant="caption" onClick={() => setVal(MIN)} sx={{ cursor: "pointer" }}>
                        {MIN} min
                    </Typography>
                    <Typography variant="caption" onClick={() => setVal(MAX)} sx={{ cursor: "pointer" }}>
                        {MAX} max
                    </Typography>
                </Box> */}
            </Box>
        </Box>
    );
}