Skip to content
Snippets Groups Projects
index.tsx 2.94 KiB
Newer Older
  • Learn to ignore specific revisions
  • import React from "react";
    
    import MyBreadcrumbs from "components/atoms/MyBreadcrumbs";
    import styles from "./style.module.scss";
    import TermSwitcher from "./components/TermSwitcher";
    
    import ModuleHeading from "./components/ModuleHeading";
    
    import WeekHeading from "./components/WeekHeading";
    
    import Table from "react-bootstrap/table";
    
    
    interface TimelineProps {
    
      initSideBar: () => void;
      revertSideBar: () => void;
    
    }
    
    class Timeline extends React.Component<TimelineProps, {}> {
    
      componentDidMount() {
        this.props.initSideBar();
    
      }
    
      componentWillUnmount() {
        this.props.revertSideBar();
      }
    
      render() {
    
          <>
            <div className={styles.timelineContainer}>
              <MyBreadcrumbs />
    
              <div className={styles.timelineGrid}>
                <div className={styles.timelineTermSwitcher}>
                  <TermSwitcher />
                </div>
                <div className={styles.timelineWeekRow}>
                  {[...Array(12)].map((e, i) => {
    
                    if (i == 1) {
                      return (
                        <div className={styles.weekHeading}>
                          <WeekHeading
                            weekNumber={`${i + 1}`}
                            dateRangeStart={"06/10"}
                            dateRangeEnd={"10/10"}
                            activeDay={3}
                          />
                        </div>
                      );
                    } else {
                      return (
                        <div className={styles.weekHeading}>
                          <WeekHeading
                            weekNumber={`${i + 1}`}
                            dateRangeStart={"06/10"}
                            dateRangeEnd={"10/10"}
                            activeDay={0}
                          />
                        </div>
                      );
                    }
    
                  })}
                </div>
                <div className={styles.timelineModuleColumn}>
    
                  {modules.map(module => (  
    
                  <div className={styles.moduleHeading}>
                    <ModuleHeading
    
                      moduleCode={module.code}
                      title={module.title}
    
                  ))}
                </div>
                <div className={styles.timelineWeekBackground}> 
                  {[...Array(12)].map((e, i) => {
                    return <div className={styles.timelineBackground}>&nbsp;</div>
                  })}
    
              </div>
            </div>
          </>
    
    let modules = [
      {
        title: "Introduction to Computer Systems",
        code: "CO112"
      },
      {
        title: "Programming I (Haskell)",
        code: "CO120.1"
      },
      {
        title: "Programming II (Java)",
        code: "CO120.2"
      },
      {
        title: "Introduction to Logic",
        code: "CO140"
      },
      {
        title: "Discrete Mathematics",
        code: "CO142"
      },
      {
        title: "Mathematical Methods",
        code: "CO145"
      },
      {
        title: "Computing Practical I",
        code: "CO161"
      },
      {
        title: "Professional Issues",
        code: "CO166"
      }
    ];
    
    
    export default Timeline;