1 changed files with 36 additions and 0 deletions
@ -0,0 +1,36 @@ |
|||||
|
import React, {useState } from 'react'; |
||||
|
import { Box, Button, Checkbox, Dialog, DialogActions, DialogContent, DialogTitle, Divider, List, ListItem, Switch, TextField, Tooltip, Typography } from '@mui/material'; |
||||
|
import { useLocalStorage } from '../hooks/useLocalStorage'; |
||||
|
import { Timeline, TimelineConnector, TimelineContent, TimelineDot, TimelineItem, TimelineSeparator, TimelineOppositeContent } from '@mui/lab'; |
||||
|
|
||||
|
/* |
||||
|
definition of events |
||||
|
events have IDs, names, a time (usually start-time) and can be variable in timing |
||||
|
*/ |
||||
|
type Eve = { |
||||
|
id: string, |
||||
|
name: string, |
||||
|
time: string, |
||||
|
var: boolean |
||||
|
} |
||||
|
|
||||
|
export function Schedule(){ |
||||
|
const [eve, setEve] = useState<Eve[]>([{id: "2", name: "Testtermin 1425", time: "12:00", var: true},{id: "1", name: "Testtermin", time: "12:00", var: false},{id: "3", name: "Testtermin früh", time: "8:00", var:false}]) |
||||
|
return( |
||||
|
<div> |
||||
|
<Typography variant="h3">Schedule</Typography> |
||||
|
<Timeline position="alternate"> |
||||
|
{eve.map((e ,i) => |
||||
|
<TimelineItem> |
||||
|
{!e.var && <TimelineOppositeContent color="primary">{e.time}</TimelineOppositeContent>} |
||||
|
<TimelineSeparator> |
||||
|
<TimelineDot color="primary" /> |
||||
|
{((i+1) < eve.length) && <TimelineConnector />} |
||||
|
</TimelineSeparator> |
||||
|
<TimelineContent>{e.name}</TimelineContent> |
||||
|
</TimelineItem> |
||||
|
)} |
||||
|
</Timeline> |
||||
|
</div> |
||||
|
) |
||||
|
} |
Loading…
Reference in new issue