MCPcopy Create free account
hub / github.com/mantinedev/ui.mantine.dev / StatsControls

Function StatsControls

lib/StatsControls/StatsControls.tsx:19–61  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

17];
18
19export function StatsControls() {
20 const [date, setDate] = useState(new Date(2021, 9, 24));
21
22 const stats = data.map((stat) => (
23 <Paper className={classes.stat} radius="md" shadow="md" p="xs" key={stat.label}>
24 <stat.icon size={32} className={classes.icon} stroke={1.5} />
25 <div>
26 <Text className={classes.label}>{stat.label}</Text>
27 <Text fz="xs" className={classes.count}>
28 <span className={classes.value}>{Math.floor(Math.random() * 6 + 4)}km</span> / 10km
29 </Text>
30 </div>
31 </Paper>
32 ));
33
34 return (
35 <div className={classes.root}>
36 <div className={classes.controls}>
37 <UnstyledButton
38 className={classes.control}
39 onClick={() => setDate((current) => dayjs(current).add(1, 'day').toDate())}
40 aria-label="Next day"
41 >
42 <IconChevronUp size={16} className={classes.controlIcon} stroke={1.5} />
43 </UnstyledButton>
44
45 <div className={classes.date}>
46 <Text className={classes.day}>{dayjs(date).format('DD')}</Text>
47 <Text className={classes.month}>{dayjs(date).format('MMMM')}</Text>
48 </div>
49
50 <UnstyledButton
51 className={classes.control}
52 onClick={() => setDate((current) => dayjs(current).subtract(1, 'day').toDate())}
53 aria-label="Previous day"
54 >
55 <IconChevronDown size={16} className={classes.controlIcon} stroke={1.5} />
56 </UnstyledButton>
57 </div>
58 <Group style={{ flex: 1 }}>{stats}</Group>
59 </div>
60 );
61}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected