From f57a4d7c12e40be14feadd89cba7b3ebacf0fba4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafael=20L=C3=A1szl=C3=B3?= <rlacko99@gmail.com>
Date: Sun, 31 Jan 2021 18:00:47 +0100
Subject: [PATCH] desktop footer

---
 src/components/Footer.tsx | 131 +++++++++++++++++++++++++++++++++-----
 1 file changed, 116 insertions(+), 15 deletions(-)

diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx
index 945e766..2d254f6 100644
--- a/src/components/Footer.tsx
+++ b/src/components/Footer.tsx
@@ -1,17 +1,24 @@
-import { Box, IconButton, makeStyles, Typography, useTheme } from '@material-ui/core';
+import {
+  Box,
+  IconButton,
+  makeStyles,
+  Typography,
+  useMediaQuery,
+  useTheme,
+} from '@material-ui/core';
 import FacebookIcon from '@material-ui/icons/Facebook';
 import MailIcon from '@material-ui/icons/Mail';
 import React from 'react';
 import DevTeamIcon from './svg/DevTeamIcon';
 import SchdesignIcon from './svg/SchdesignIcon';
 
-const useStyles = makeStyles((theme) => ({
+const useMobileStyles = makeStyles((theme) => ({
   footer: {
     background: theme.footer.background,
     padding: '0.3rem',
     paddingTop: '0.6rem',
   },
-  contact: {
+  contactText: {
     color: theme.palette.primary.contrastText,
     fontSize: '1.7rem',
     fontWeight: 500,
@@ -49,47 +56,76 @@ const useStyles = makeStyles((theme) => ({
   },
 }));
 
+const useDesktopStyles = makeStyles((theme) => ({
+  footer: {
+    padding: '0.4rem',
+  },
+  devteam: {
+    fontSize: '1.8rem',
+    paddingLeft: '0.6rem',
+  },
+  schdesignButton: {
+    paddingTop: '0.5rem',
+  },
+  contact: {
+    paddingRight: '2rem',
+  },
+  social: {
+    fontSize: '1.5rem',
+    margin: '0',
+    marginRight: '0.3rem',
+    marginTop: '0.2rem',
+    marginBottom: '0.2rem',
+  },
+  socialText: {
+    color: theme.palette.secondary.main,
+  },
+}));
+
 const Footer: React.FC = () => {
-  const classes = useStyles();
+  const mClasses = useMobileStyles();
+  const dClasses = useDesktopStyles();
   const theme = useTheme();
 
+  const isSmallScreen = useMediaQuery(theme.breakpoints.down('xs'));
+
   const SmallScreen: React.FC = () => (
     <Box display="flex" justifyContent="center" flexDirection="column">
-      <Typography align="center" className={classes.contact}>
+      <Typography align="center" className={mClasses.contactText}>
         Kapcsolat
       </Typography>
       <Box display="flex" justifyContent="center">
         <IconButton
-          className={classes.socialButton}
+          className={mClasses.socialButton}
           onClick={(): void => {
             window.open('https://www.facebook.com/groups/schbody/');
           }}
         >
-          <FacebookIcon className={classes.social} />
+          <FacebookIcon className={mClasses.social} />
         </IconButton>
         <IconButton
-          className={classes.socialButton}
+          className={mClasses.socialButton}
           onClick={(): void => {
             window.location.href = 'mailto:body@sch.bme.hu';
           }}
         >
-          <MailIcon className={classes.social} />
+          <MailIcon className={mClasses.social} />
         </IconButton>
       </Box>
-      <Box display="flex" justifyContent="space-around" className={classes.groups}>
+      <Box display="flex" justifyContent="space-around" className={mClasses.groups}>
         <IconButton
-          className={classes.groupButton}
+          className={mClasses.groupButton}
           onClick={(): void => {
             window.open('https://kszk.bme.hu/');
           }}
         >
           <Box display="flex" justifyContent="center" alignItems="center">
             <DevTeamIcon width="28px" height="28px" />
-            <Typography className={classes.devteam}>DevTeam</Typography>
+            <Typography className={mClasses.devteam}>DevTeam</Typography>
           </Box>
         </IconButton>
         <IconButton
-          className={classes.groupButton}
+          className={mClasses.groupButton}
           onClick={(): void => {
             window.open('https://schdesign.hu/');
           }}
@@ -99,9 +135,74 @@ const Footer: React.FC = () => {
       </Box>
     </Box>
   );
+
+  const LargeScreen: React.FC = () => (
+    <Box display="flex" justifyContent="space-between">
+      <Box
+        display="flex"
+        justifyContent="space-around"
+        alignItems="center"
+        className={mClasses.groups}
+      >
+        <IconButton
+          className={mClasses.groupButton}
+          onClick={(): void => {
+            window.open('https://kszk.bme.hu/');
+          }}
+        >
+          <Box display="flex" justifyContent="center" alignItems="center">
+            <DevTeamIcon width="36px" height="36px" />
+            <Typography className={`${mClasses.devteam} ${dClasses.devteam}`}>DevTeam</Typography>
+          </Box>
+        </IconButton>
+        <IconButton
+          className={`${mClasses.groupButton} ${dClasses.schdesignButton}`}
+          onClick={(): void => {
+            window.open('https://schdesign.hu/');
+          }}
+        >
+          <SchdesignIcon width="140px" height="50px" color1={theme.palette.primary.contrastText} />
+        </IconButton>
+      </Box>
+      <Box
+        display="flex"
+        flexDirection="column"
+        alignItems="flex-start"
+        className={dClasses.contact}
+      >
+        <Typography align="center" className={mClasses.contactText}>
+          Kapcsolat
+        </Typography>
+        <Box display="flex" flexDirection="column" alignItems="flex-start">
+          <IconButton
+            className={mClasses.socialButton}
+            onClick={(): void => {
+              window.open('https://www.facebook.com/groups/schbody/');
+            }}
+          >
+            <Box display="flex" alignItems="center" justifyContent="center">
+              <FacebookIcon className={`${mClasses.social} ${dClasses.social}`} />
+              <Typography className={dClasses.socialText}>Facebook</Typography>
+            </Box>
+          </IconButton>
+
+          <IconButton
+            className={mClasses.socialButton}
+            onClick={(): void => {
+              window.location.href = 'mailto:body@sch.bme.hu';
+            }}
+          >
+            <MailIcon className={`${mClasses.social} ${dClasses.social}`} />
+            <Typography className={dClasses.socialText}>body@sch.bme.hu</Typography>
+          </IconButton>
+        </Box>
+      </Box>
+    </Box>
+  );
+
   return (
-    <Box component="footer" className={classes.footer}>
-      <SmallScreen />
+    <Box component="footer" className={`${mClasses.footer} ${!isSmallScreen && dClasses.footer}`}>
+      {isSmallScreen ? <SmallScreen /> : <LargeScreen />}
     </Box>
   );
 };
-- 
GitLab