Skip to content

Commit d75421a

Browse files
feat(frontend): add basic meeting card
1 parent 648995b commit d75421a

7 files changed

Lines changed: 117 additions & 19 deletions

File tree

frontend/src/App.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ body {
1313
--background-gradient: linear-gradient(to bottom right, #3650c7, #42abdc);
1414
--golden: #ffac2f;
1515
--dark-golden: #ff9c08;
16+
--light-golden: #ffd166;
1617
}
1718

1819
body::-webkit-scrollbar {
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { IconButton, IconButtonProps } from "@material-ui/core";
2+
import { MoreHoriz } from "@material-ui/icons";
3+
import React from "react";
4+
5+
type MoreOptionsInterface = {
6+
// className?: string;
7+
} & IconButtonProps;
8+
const MoreOptions: React.FC<MoreOptionsInterface> = ({ ...props }) => {
9+
return (
10+
<IconButton {...props}>
11+
<MoreHoriz />
12+
</IconButton>
13+
);
14+
};
15+
16+
export default MoreOptions;

frontend/src/components/Cards/DomainCard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const useStyles = makeStyles(() =>
1515
margin: "1vh",
1616
height: "38vh",
1717
width: "30vh",
18-
background: "#FFD166",
18+
background: "#ffd166",
1919
},
2020
title: {
2121
fontSize: "1.2rem",

frontend/src/components/Meeting/MeetingCard.tsx

Lines changed: 49 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
import React from "react";
2-
import { createStyles, makeStyles } from "@material-ui/core/styles";
3-
import { Card, CardContent, Typography } from "@material-ui/core";
2+
import { createStyles, makeStyles, Theme } from "@material-ui/core/styles";
3+
import { Card, CardContent, Grid, Typography } from "@material-ui/core";
4+
import RegisterButton from "./RegisterButton";
5+
import MoreOptions from "../Buttons/MoreOptions";
46

5-
const useStyles = makeStyles(() =>
7+
const useStyles = makeStyles((theme: Theme) =>
68
createStyles({
79
root: {
810
margin: "2vh",
911
minHeight: "20vh",
10-
width: "80vh",
11-
background: "#FFD166",
12+
width: "90vw",
13+
background: "#ffd166",
14+
position: "relative",
1215
},
1316
title: {
1417
fontSize: "1.2rem",
@@ -19,12 +22,28 @@ const useStyles = makeStyles(() =>
1922
lang: {
2023
opacity: 0.5,
2124
},
25+
minorText: {
26+
fontSize: "0.9rem",
27+
marginLeft: "1vh",
28+
opacity: 0.5,
29+
},
2230
body: {
23-
marginTop: "1vh",
31+
marginBottom: "1vh",
2432
},
25-
owner: {
26-
marginTop: "1vh",
27-
opacity: 0.5,
33+
alignRight: {
34+
display: "flex",
35+
flexDirection: "column",
36+
alignItems: "flex-end",
37+
justifyContent: "center",
38+
[theme.breakpoints.down("xs")]: {
39+
alignItems: "flex-start",
40+
// flexDirection: "row",
41+
},
42+
},
43+
more: {
44+
position: "absolute",
45+
top: 2,
46+
right: 2,
2847
},
2948
})
3049
);
@@ -36,7 +55,27 @@ const MeetingCard: React.FC = ({}) => {
3655
return (
3756
<Card className={classes.root}>
3857
<CardContent>
39-
<Typography>hello</Typography>
58+
<Grid container>
59+
<Grid item xs={12} sm={6}>
60+
<div>
61+
<Typography className={classes.title} component="span">
62+
EventName
63+
</Typography>
64+
<Typography className={classes.lang} component="span">
65+
Bitbyte
66+
</Typography>
67+
</div>
68+
<Typography className={classes.lang}>12:00AM 30.2.2022</Typography>
69+
<Typography className={classes.body}>
70+
coding coding coding coding coding coding coding{" "}
71+
</Typography>
72+
</Grid>
73+
<Grid item xs={12} sm={6} className={classes.alignRight}>
74+
<RegisterButton />
75+
<Typography className={classes.minorText}>25 registers</Typography>
76+
</Grid>
77+
</Grid>
78+
<MoreOptions className={classes.more} />
4079
</CardContent>
4180
</Card>
4281
);
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.MuiTabs-indicator {
2+
background-color: white !important;
3+
}

frontend/src/components/Meeting/MeetingTabs.tsx

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import React from "react";
22
import SwipeableViews from "react-swipeable-views";
3-
import { makeStyles, Theme, useTheme } from "@material-ui/core/styles";
3+
import { makeStyles, useTheme } from "@material-ui/core/styles";
44
import AppBar from "@material-ui/core/AppBar";
55
import Tabs from "@material-ui/core/Tabs";
66
import Tab from "@material-ui/core/Tab";
77
import Box from "@material-ui/core/Box";
88
import MeetingCard from "./MeetingCard";
9+
import "./MeetingTabs.css";
910

1011
interface TabPanelProps {
1112
children?: React.ReactNode;
@@ -16,9 +17,11 @@ interface TabPanelProps {
1617

1718
function TabPanel(props: TabPanelProps) {
1819
const { children, value, index, ...other } = props;
20+
const classes = useStyles();
1921

2022
return (
2123
<div
24+
className={classes.cardContainer}
2225
role="tabpanel"
2326
hidden={value !== index}
2427
id={`full-width-tabpanel-${index}`}
@@ -37,12 +40,19 @@ function a11yProps(index: number) {
3740
};
3841
}
3942

40-
const useStyles = makeStyles((theme: Theme) => ({
43+
const useStyles = makeStyles(() => ({
4144
root: {
4245
width: "100vw",
4346
},
4447
tabbar: {
45-
backgroundColor: theme.palette.background.paper,
48+
color: "white",
49+
background: "rgba(0, 0, 0, 0.5)",
50+
},
51+
cardContainer: {
52+
display: "flex",
53+
flexDirection: "column",
54+
alignItems: "center",
55+
overflow: "hidden",
4656
},
4757
}));
4858

@@ -62,15 +72,13 @@ const MeetingTabs: React.FC = () => {
6272

6373
return (
6474
<div className={classes.root}>
65-
<AppBar position="static" color="default">
75+
<AppBar className={classes.tabbar} position="static" color="default">
6676
<Tabs
67-
className={classes.tabbar}
6877
value={value}
6978
onChange={handleChange}
70-
indicatorColor="primary"
71-
textColor="primary"
79+
indicatorColor="secondary"
80+
textColor="inherit"
7281
variant="fullWidth"
73-
aria-label="full width tabs example"
7482
>
7583
<Tab label="Meetings" {...a11yProps(0)} />
7684
<Tab label="Polls" {...a11yProps(1)} />
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import React from "react";
2+
import { makeStyles, createStyles, Theme } from "@material-ui/core/styles";
3+
import Button from "@material-ui/core/Button";
4+
5+
const useStyles = makeStyles((theme: Theme) =>
6+
createStyles({
7+
root: {
8+
width: "15vh",
9+
display: "flex",
10+
justifyContent: "center",
11+
background: "none",
12+
marginTop: "4vh",
13+
[theme.breakpoints.down("xs")]: {
14+
marginTop: "0",
15+
marginRight: "2vh",
16+
},
17+
},
18+
})
19+
);
20+
21+
const RegisterButton: React.FC = () => {
22+
const classes = useStyles();
23+
24+
return (
25+
<Button variant="outlined" className={classes.root}>
26+
Register
27+
</Button>
28+
);
29+
};
30+
31+
export default RegisterButton;

0 commit comments

Comments
 (0)