diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 0000000..bffb357
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "next/core-web-vitals"
+}
diff --git a/components/EventCard.tsx b/components/EventCard.tsx
new file mode 100644
index 0000000..74e4412
--- /dev/null
+++ b/components/EventCard.tsx
@@ -0,0 +1,119 @@
+import * as React from 'react';
+import { styled } from '@mui/material/styles';
+import Card from '@mui/material/Card';
+import CardHeader from '@mui/material/CardHeader';
+import CardMedia from '@mui/material/CardMedia';
+
+import CardContent from '@mui/material/CardContent';
+import CardActions from '@mui/material/CardActions';
+import Collapse from '@mui/material/Collapse';
+import Avatar from '@mui/material/Avatar';
+import IconButton, { IconButtonProps } from '@mui/material/IconButton';
+import Typography from '@mui/material/Typography';
+import { red } from '@mui/material/colors';
+import FavoriteIcon from '@mui/icons-material/Favorite';
+import ShareIcon from '@mui/icons-material/Share';
+import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
+import MoreVertIcon from '@mui/icons-material/MoreVert';
+
+interface ExpandMoreProps extends IconButtonProps {
+ expand: boolean;
+}
+
+const ExpandMore = styled((props: ExpandMoreProps) => {
+ const { expand, ...other } = props;
+ return ;
+})(({ theme, expand }) => ({
+ transform: !expand ? 'rotate(0deg)' : 'rotate(180deg)',
+ marginLeft: 'auto',
+ transition: theme.transitions.create('transform', {
+ duration: theme.transitions.duration.shortest,
+ }),
+}));
+
+export default function EventCard() {
+ const [expanded, setExpanded] = React.useState(false);
+
+ const handleExpandClick = () => {
+ setExpanded(!expanded);
+ };
+
+ return (
+
+
+ {/*
+ R
+
+ }
+ action={
+
+
+
+ }
+ title="Shrimp and Chorizo Paella"
+ subheader="September 14, 2016"
+ /> */}
+
+
+
+
+ This impressive paella is a perfect party dish and a fun meal to cook
+ together with your guests. Add 1 cup of frozen peas along with the mussels,
+ if you like.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method:
+
+ Heat 1/2 cup of the broth in a pot until simmering, add saffron and set
+ aside for 10 minutes.
+
+
+ Heat oil in a (14- to 16-inch) paella pan or a large, deep skillet over
+ medium-high heat. Add chicken, shrimp and chorizo, and cook, stirring
+ occasionally until lightly browned, 6 to 8 minutes. Transfer shrimp to a
+ large plate and set aside, leaving chicken and chorizo in the pan. Add
+ pimentón, bay leaves, garlic, tomatoes, onion, salt and pepper, and cook,
+ stirring often until thickened and fragrant, about 10 minutes. Add
+ saffron broth and remaining 4 1/2 cups chicken broth; bring to a boil.
+
+
+ Add rice and stir very gently to distribute. Top with artichokes and
+ peppers, and cook without stirring, until most of the liquid is absorbed,
+ 15 to 18 minutes. Reduce heat to medium-low, add reserved shrimp and
+ mussels, tucking them down into the rice, and cook again without
+ stirring, until mussels have opened and rice is just tender, 5 to 7
+ minutes more. (Discard any mussels that don't open.)
+
+
+ Set aside off of the heat to let rest for 10 minutes, and then serve.
+
+
+
+
+ );
+}
diff --git a/components/Layout.js b/components/Layout.js
new file mode 100644
index 0000000..c3d2293
--- /dev/null
+++ b/components/Layout.js
@@ -0,0 +1,118 @@
+import AppBar from "@mui/material/AppBar";
+import Toolbar from "@mui/material/Toolbar";
+import Typography from "@mui/material/Typography";
+import Box from "@mui/material/Box";
+import Button from "@mui/material/Button";
+import Avatar from "@mui/material/Avatar";
+import Link from "next/link";
+import classes from "./Layout.module.css";
+import MenuIcon from '@mui/icons-material/Menu';
+import { IconButton } from "@mui/material";
+import { useState } from "react";
+import { Drawer } from "@mui/material";
+
+const Layout = (props) => {
+ const [isDrawerOpen, setIsDrawerOpen] = useState(false);
+
+ const navItems = [
+ {
+ title: "Home",
+ href: "/",
+ },
+ {
+ title: "About Us",
+ href: "/about",
+ },
+ {
+ title: "Events",
+ href: "/events",
+ },
+ ];
+
+ return (
+ <>
+
+
+
+
+
+
+ OS Code
+
+
+
+
+ {navItems.map((item) => (
+
+
+
+ ))}
+
+
+
+
+ setIsDrawerOpen(true)} sx={{ display: { sx: "static", lg: "none" }}}>
+
+
+ setIsDrawerOpen(false)}
+ sx={{ display: { sx: "static", md: "none" }}}
+ >
+
+ {navItems.map((item) => (
+
+
+
+ ))}
+
+
+
+
+
+
+
+ {props.children}
+
+
+
+ >
+ );
+};
+
+export default Layout;
diff --git a/components/Layout.module.css b/components/Layout.module.css
new file mode 100644
index 0000000..a28c2fc
--- /dev/null
+++ b/components/Layout.module.css
@@ -0,0 +1,45 @@
+.appBarBg {
+ background: rgba(22, 21, 21, 0.35);
+ /* box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37); */
+ backdrop-filter: blur(5.5px);
+ -webkit-backdrop-filter: blur(5.5px);
+ border: 1px solid rgba(255, 255, 255, 0.18);
+ color: aliceblue;
+}
+.btn {
+ transition: 0.3s;
+ color: aliceblue;
+}
+.btn:hover {
+ background: #00c9ff; /* fallback for old browsers */
+ background: -webkit-linear-gradient(
+ to right,
+ #92fe9d,
+ #00c9ff
+ ); /* Chrome 10-25, Safari 5.1-6 */
+ background: linear-gradient(
+ to right,
+ #92fe9d,
+ #00c9ff
+ ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
+ -webkit-animation: btn 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
+ animation: btn 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+}
+.footer {
+ color: aliceblue;
+ background-image: linear-gradient(
+ 134.6deg,
+ rgba(201, 37, 107, 1) 15.4%,
+ rgba(116, 16, 124, 1) 74.7%
+ );
+ padding-top: 10px;
+ padding-bottom: 10px;
+}
+@media screen and (max-width: 900px) {
+ .navItemsLg{
+ display: none;
+ }
+}
+
diff --git a/pages/_app.tsx b/pages/_app.tsx
index 25054b5..abd0a29 100644
--- a/pages/_app.tsx
+++ b/pages/_app.tsx
@@ -1,11 +1,13 @@
-import * as React from 'react';
-import Head from 'next/head';
-import { AppProps } from 'next/app';
-import { ThemeProvider } from '@mui/material/styles';
-import CssBaseline from '@mui/material/CssBaseline';
-import { CacheProvider, EmotionCache } from '@emotion/react';
-import theme from '../src/theme';
-import createEmotionCache from '../src/createEmotionCache';
+import Head from "next/head";
+import { AppProps } from "next/app";
+import { ThemeProvider } from "@mui/material/styles";
+import CssBaseline from "@mui/material/CssBaseline";
+import { CacheProvider, EmotionCache } from "@emotion/react";
+import theme from "../src/theme";
+import createEmotionCache from "../src/createEmotionCache";
+import '../src/styles/global.css';
+
+import Layout from "../components/Layout";
// Client-side cache, shared for the whole session of the user in the browser.
const clientSideEmotionCache = createEmotionCache();
@@ -19,12 +21,15 @@ export default function MyApp(props: MyAppProps) {
return (
+ OS Code
{/* CssBaseline kickstart an elegant, consistent, and simple baseline to build upon. */}
-
+
+
+
);
diff --git a/pages/_document.tsx b/pages/_document.tsx
index 6e31d24..4502e19 100644
--- a/pages/_document.tsx
+++ b/pages/_document.tsx
@@ -1,8 +1,8 @@
-import * as React from 'react';
-import Document, { Html, Head, Main, NextScript } from 'next/document';
-import createEmotionServer from '@emotion/server/create-instance';
-import theme from '../src/theme';
-import createEmotionCache from '../src/createEmotionCache';
+import * as React from "react";
+import Document, { Html, Head, Main, NextScript } from "next/document";
+import createEmotionServer from "@emotion/server/create-instance";
+import theme from "../src/theme";
+import createEmotionCache from "../src/createEmotionCache";
export default class MyDocument extends Document {
render() {
@@ -11,7 +11,7 @@ export default class MyDocument extends Document {