import timetable from '../../utils/timetable.json'; import { useSession, signIn } from "next-auth/react" import style from '../styles/Home.module.css'; import {useState} from "react"; const days = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"]; function currentTimeTable(_day_diff = null) { let now = new Date(); if(_day_diff) { now = new Date(now.valueOf() + (86400 * _day_diff)) } let day = days[now.getDay()]; const today_timetable = timetable[day]; return today_timetable || [] } function is_old(lesson, now) { let lesson_start = new Date(); lesson_start.setHours(lesson.start[0], lesson.start[1], 0) let lesson_end = new Date(); lesson_end.setHours(lesson.end[0], lesson.end[1], 0); if(lesson_end > now) { return true; } } function currentLesson() { const now = new Date(); const date = now.toLocaleDateString("en-GB"); const time = now.toLocaleTimeString("en-GB"); const hour = parseInt(time.split(":")[0]); const minute = parseInt(time.split(":")[1]); const day = days[now.getDay()]; const today_timetable = currentTimeTable(); console.debug( now, date, time, hour, minute, day, today_timetable ) for(let lesson of today_timetable) { let lesson_start = new Date(); lesson_start.setHours(lesson.start[0], lesson.start[1], 0) let lesson_end = new Date(); lesson_end.setHours(lesson.end[0], lesson.end[1], 0); if(lesson_end > now) { if(lesson_start <= now) { console.debug("Returning", lesson) lesson.start_timestamp = lesson_start.valueOf() lesson.end_timestamp = lesson_end.valueOf() return lesson } } } return { "name": "No Current Lesson", "start": [0, 0], "end": [0, 0], "tutor": "", "room": "", "start_timestamp": (new Date()).setHours(0, 0, 0), "end_timestamp": (new Date()).setHours(23, 59, 59) } } function normaliseTime(t) { return `${t[0].toString().padStart(2, "0")}:${t[1].toString().padStart(2, "0")}` } function TimeTableBlock(props) { const lesson = props.lesson; let [open, setOpen] = useState(false); const _onClick = () => {setOpen(!open)}; return (
{current_lesson.name}