From b0425cd847be577d6ad0822a1f3cde0021ba4b7a Mon Sep 17 00:00:00 2001
From: rlacko <rlacko@sch.bme.hu>
Date: Wed, 29 Jan 2020 11:27:09 +0100
Subject: [PATCH] cleanup

---
 src/components/Header.js         | 123 +++++++++++++++++--------------
 src/components/pages/News.js     |   2 +-
 src/components/pages/Schedule.js |  53 ++++++++-----
 3 files changed, 101 insertions(+), 77 deletions(-)

diff --git a/src/components/Header.js b/src/components/Header.js
index 5cdc710..b609a5a 100644
--- a/src/components/Header.js
+++ b/src/components/Header.js
@@ -6,15 +6,16 @@ import {
   Button,
   Segment,
   Image,
-  Grid,
   Popup,
   Icon,
   Responsive,
 } from 'semantic-ui-react';
+
 import { connect } from 'react-redux';
 import { getUserData } from '../actions';
 import KSZKlogo from './images/kszk_logo.svg';
 
+// Objects that will be converted to menu items in the render method
 const menuItems = [
   {
     text: 'Főoldal',
@@ -67,89 +68,100 @@ class Header extends Component {
       isOpen: false,
     };
   }
+  // Fetch the userData-s
   componentWillMount() {
     this.props.getUserData();
   }
 
+  // Hide the menu after clicking an item on mobile
   handleOpen = () => {
     this.setState({ isOpen: true });
   }
-
   handleClose = () => {
     this.setState({ isOpen: false });
   }
 
   render() {
-    const { visible } = this.state;
     return (
       <div>
-        <Responsive minWidth={600}>
+        {/* Tablet, Computer, ... view */}
+        <Responsive minWidth={600} >
           <Segment inverted textAlign='center' vertical>
             <Container>
-            <Menu inverted secondary size='large'>
-              {menuItems.map((item, i) =>
-                (item.permissionLevel === 0 ?
-                    <Menu.Item key={i} as={Link} to={item.to}>{item.prefix}{item.text}</Menu.Item>
+              <Menu inverted secondary size='large'>
+                {/* Menu items */}
+                {menuItems.map((item, i) => 
+                  (item.permissionLevel === 0 ?
+                    <Menu.Item key={i} as={Link} to={item.to}>
+                      {item.prefix}{item.text}
+                    </Menu.Item>
                     : null
-                ))
-              }
-              { this.props.user.id ?
-              <Popup trigger={
-                  <Menu.Item>
-                    <Icon name='angle down' size='large' />
-                  </Menu.Item>
+                  ))
                 }
-                position='center'
-                flowing hoverable inverted>
-                  <Menu inverted secondary size='large'>
+                {/* Arrow menu */}
+                { this.props.user.id ?
+                  <Popup flowing hoverable inverted 
+                    trigger={
+                      <Menu.Item>
+                        <Icon name='angle down' size='large' />
+                      </Menu.Item>
+                    }
+                    position='center'
+                  >
+                    <Menu inverted secondary size='large'>
                       {menuItems.map((item, i) =>
                         (this.props.user.permission >= item.permissionLevel
-                          && item.permissionLevel > 0?
-                            <Menu.Item
-                              key={i} as={Link} to={item.to}>
+                          && item.permissionLevel > 0 ?
+                            <Menu.Item key={i} as={Link} to={item.to}>
                                 {item.prefix}{item.text}
                             </Menu.Item>
                             : null
                         ))
                       }
-                  </Menu>
-              </Popup>
-              : null
-              }
-              <Menu.Item position='right' width={5}>
-                {
-                  this.props.user.id ?
+                    </Menu>
+                  </Popup>
+                  : null
+                }
+                {/* Login Button */}
+                <Menu.Item position='right'>
+                  {this.props.user.id ?
                     <Button.Group>
                       <Button inverted as={Link} to='/profile'>Profilom</Button>
                       <Button as='a' href='/api/v1/logout/' icon='sign out' />
                     </Button.Group>
-                  :
+                    :
                     <Button as='a' href='/api/v1/login/authsch/' inverted>BejelentkezĂŠs</Button>
-                }
-              </Menu.Item>
-            </Menu>
+                  }
+                </Menu.Item>
+              </Menu>
             </Container>
           </Segment>
         </Responsive>
+        {/* Mobile view */}
         <Responsive maxWidth={599}>
           <Segment inverted textAlign='center' vertical>
             <Container>
-            <Menu inverted secondary size='normal'>
-              <Menu.Item as={Link} to={menuItems[0].to}>{menuItems[0].prefix}{menuItems[0].text}</Menu.Item>     
-              <Popup trigger={
-                  <Menu.Item onClick={this.handleClose} 
-                  position='right'>
-                    <Icon name='bars' size='large' />
-                  </Menu.Item>
-                }
-                position='center'
-                flowing hoverable inverted
-                open={this.state.isOpen}
-                onOpen={this.handleOpen}>
-                  <Menu vertical inverted secondary size='normal'>
+              <Menu inverted secondary size='big'>
+                {/* kszk logo + home link */}
+                <Menu.Item as={Link} to={menuItems[0].to}>
+                  {menuItems[0].prefix}{menuItems[0].text}
+                </Menu.Item>     
+                {/* Sandwich menu */}
+                <Popup flowing hoverable inverted trigger={
+                    <Menu.Item onClick={this.handleClose} 
+                    position='right'>
+                      <Icon name='bars' size='large' />
+                    </Menu.Item>
+                  }
+                  position='center'
+                  open={this.state.isOpen}
+                  onOpen={this.handleOpen}
+                  size='huge'
+                >
+                  <Menu vertical inverted secondary size='big'>
                     {menuItems.map((item, i) =>
-                      ( (this.props.user.permission >= item.permissionLevel ||
-                        item.permissionLevel === 0) && i>0?
+                      ((this.props.user.permission >= item.permissionLevel 
+                        ||item.permissionLevel === 0) && i>0?
                           <Menu.Item onClick={this.handleClose} 
                           key={i} as={Link} to={item.to}>
                             {item.prefix}{item.text}
@@ -158,19 +170,18 @@ class Header extends Component {
                       ))
                     }
                     <Menu.Item>
-                      {
-                        this.props.user.id ?
-                          <Button.Group>
-                            <Button onClick={this.handleClose} inverted as={Link} to='/profile'>Profilom</Button>
-                            <Button onClick={this.handleClose} as='a' href='/api/v1/logout/' icon='sign out' />
-                          </Button.Group>
+                      {this.props.user.id ?
+                        <Button.Group>
+                          <Button onClick={this.handleClose} inverted as={Link} to='/profile'>Profilom</Button>
+                          <Button onClick={this.handleClose} as='a' href='/api/v1/logout/' icon='sign out' />
+                        </Button.Group>
                         :
-                          <Button onClick={this.handleClose} as='a' href='/api/v1/login/authsch/' inverted>BejelentkezĂŠs</Button>
+                        <Button onClick={this.handleClose} as='a' href='/api/v1/login/authsch/' inverted>BejelentkezĂŠs</Button>
                       }
                     </Menu.Item>
                   </Menu>
-              </Popup>
-            </Menu>
+                </Popup>
+              </Menu>
             </Container>
           </Segment>
         </Responsive>
diff --git a/src/components/pages/News.js b/src/components/pages/News.js
index 807a914..525c827 100644
--- a/src/components/pages/News.js
+++ b/src/components/pages/News.js
@@ -76,7 +76,7 @@ class News extends Component {
   render() {
     return (
       <div>
-        <Segment style={{ padding: '3em 3em' }} vertical>
+        <Segment vertical>
           {/*  { this.props.user.is_superuser ? <AddNewsForm /> : ''} */}
           <Container text textAlign='center'>
             {this.props.user.role === 'Staff' ?
diff --git a/src/components/pages/Schedule.js b/src/components/pages/Schedule.js
index 60fae4d..112e766 100644
--- a/src/components/pages/Schedule.js
+++ b/src/components/pages/Schedule.js
@@ -1,5 +1,5 @@
 import React, { Component } from 'react';
-import { Container, Accordion, Icon, Grid } from 'semantic-ui-react';
+import { Container, Accordion, Icon, Grid, Header } from 'semantic-ui-react';
 import { connect } from 'react-redux';
 import moment from 'moment';
 import 'moment/locale/hu';
@@ -25,7 +25,7 @@ class Schedule extends Component {
 
     const events = this.props.events;
     const panels = events.map(event => (
-      <>
+      <Accordion>
         <Accordion.Title
           active={activeIndex === event.id}
           index={event.id}
@@ -47,27 +47,40 @@ class Schedule extends Component {
              {event.description}
            </p>
          </Accordion.Content>
-        </>
+        </Accordion>
        ));
 
     return (
-      <Container
-        textAlign='center'
-        style={{
-          padding: '60px'
-        }}
-      >
-        <h2>KĂŠpzĂŠs alkalmak:</h2>
-        <Accordion
-          fluid
-          styled
-          defaultActiveIndex={-1}
-          panels={panels}
-        >
-        {panels}
-      </Accordion>
-      <h2>TĂĄbor:</h2>
-      </Container>
+      <div>
+        <Container textAlign='center'>
+          <Header
+            as='h1'
+            content='KĂŠpzĂŠs alkalmak'
+            style={{
+                fontSize: '2em',
+                fontWeight: 'bold',
+                marginBottom: '0.5em',
+                marginTop: '0.5em',
+              }}
+          />
+          <Accordion fluid styled
+            defaultActiveIndex={-1}
+            panels={panels}
+          >
+            {panels}
+          </Accordion>
+          <Header
+            as='h1'
+            content='TĂĄbor'
+            style={{
+                fontSize: '2em',
+                fontWeight: 'bold',
+                marginBottom: '0.5em',
+                marginTop: '1.5em',
+              }}
+          />
+        </Container>
+      </div>
     );
   }
 }
-- 
GitLab