File size: 1,687 Bytes
15975c4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import { Typography, Stack, ToggleButtonGroup, ToggleButton } from '@mui/material';

import WindowsIcon from '@mui/icons-material/Window';
import AndroidIcon from '@mui/icons-material/Android';
import AppleIcon from '@mui/icons-material/Apple';
import CheckIcon from '@mui/icons-material/Check';
import { useState } from 'react';

export const ToggleButtonGroupView = () => {

    const [alignment, setAlignment] = useState<string | null>('windows');

    const handleAlignment = (
        _event: React.MouseEvent<HTMLElement>,
        newAlignment: string | null,
    ) => {
        setAlignment(newAlignment);
    };

    return (
        <Stack spacing={3}>
            <Typography variant="h6" fontWeight="bold">
                Segmented Button
            </Typography>
            <Stack direction="row" spacing={2}>
                <ToggleButtonGroup exclusive value={alignment} onChange={handleAlignment}>
                    <ToggleButton value="windows">
                        {alignment === 'windows' ? <CheckIcon sx={{ mr: 1 }} /> : <WindowsIcon sx={{ mr: 1 }} />}
                        Windows
                    </ToggleButton>
                    <ToggleButton value="android">
                        {alignment === 'android' ? <CheckIcon sx={{ mr: 1 }} /> : <AndroidIcon sx={{ mr: 1 }} />}
                        Android
                    </ToggleButton>
                    <ToggleButton value="ios">
                        {alignment === 'ios' ? <CheckIcon sx={{ mr: 1 }} /> : <AppleIcon sx={{ mr: 1 }} />}
                        Apple
                    </ToggleButton>
                </ToggleButtonGroup>
            </Stack>
        </Stack>
    );
};