summaryrefslogtreecommitdiffstats
path: root/src/RuzCard.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/RuzCard.js')
-rw-r--r--src/RuzCard.js94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/RuzCard.js b/src/RuzCard.js
new file mode 100644
index 0000000..4b0a39a
--- /dev/null
+++ b/src/RuzCard.js
@@ -0,0 +1,94 @@
+import React, { useState } from 'react';
+import { makeStyles, useTheme } from '@material-ui/core/styles';
+import Card from '@material-ui/core/Card';
+import CardContent from '@material-ui/core/CardContent';
+import CardMedia from '@material-ui/core/CardMedia';
+import Typography from '@material-ui/core/Typography';
+import ListItem from '@material-ui/core/ListItem';
+import ListItemAvatar from '@material-ui/core/ListItemAvatar';
+import ListItemText from '@material-ui/core/ListItemText';
+import { Button, useMediaQuery, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@material-ui/core';
+
+
+const useStyles = makeStyles(theme => ({
+ card: {
+ display: 'flex',
+ },
+ details: {
+ display: 'flex',
+ flexDirection: 'column',
+ },
+ content: {
+ flex: '1 0 auto',
+ },
+ inline: {
+ display: 'inline',
+ },
+ seminarCard: {
+ color: 'limegreen',
+ },
+ examCard: {
+ color: 'red',
+ },
+}));
+
+
+function class_by_type (type, classes) {
+ let classname = null;
+ switch (type) {
+ case 'Семинар':
+ classname = classes.seminarCard;
+ break;
+ case 'Экзамен':
+ classname = classes.examCard;
+ break;
+ default:
+ return;
+ }
+
+ return classname;
+}
+
+
+export default function RuzCard(props) {
+ const classes = useStyles();
+ const theme = useTheme();
+ const dialogFullScreen = useMediaQuery(theme.breakpoints.down('sm'));
+ const [open, setOpen] = useState(false);
+
+ const handleClickOpen = () => {
+ setOpen(true);
+ };
+
+ const handleClose = () => {
+ setOpen(false);
+ };
+
+
+ return (
+ <ListItem alignItems="flex-start" button onClick={props.onClick}>
+ <ListItemAvatar>
+ <div>
+ <Typography variant="body2">{props.item.beginLesson}</Typography><br />
+ <Typography variant="body2" color="secondary">{props.item.endLesson}</Typography>
+ </div>
+ </ListItemAvatar>
+ <ListItemText
+ primary={props.item.discipline}
+ secondary={
+ <React.Fragment>
+ {props.item.auditorium}<br />
+ <Typography
+ component="span"
+ variant="body2"
+ className={class_by_type(props.item.kindOfWork, classes)}
+ color="textPrimary"
+ >
+ {props.item.kindOfWork}
+ </Typography>
+ </React.Fragment>
+ }
+ />
+ </ListItem>
+ )
+} \ No newline at end of file