diff --git a/my-app/src/index.jsx b/my-app/src/index.jsx index a9377d8..d9259bf 100644 --- a/my-app/src/index.jsx +++ b/my-app/src/index.jsx @@ -1,44 +1,46 @@ -import { configure, makeAutoObservable } from "mobx"; -import { createHashRouter, RouterProvider } from "react-router-dom"; -import { createRoot } from "react-dom/client"; -import { connectToFirebase } from "../firebase"; -import { model } from "./model"; -import App from "./pages/App.jsx"; -import "./styles.css"; - -import SharedView from "./pages/SharedView.jsx"; -import { JsonToDatabase } from "./presenters/Tests/JsonToDatabase"; -import { AllCoursesPresenter } from "./presenters/Tests/AllCoursesPresenter.jsx"; - -configure({ enforceActions: "never" }); - -const reactiveModel = makeAutoObservable(model); -connectToFirebase(reactiveModel); - -export function makeRouter(reactiveModel) { - return createHashRouter([ - { - path: "/", - element: , - }, - { - path: "/share", - //element: , - element: , - }, - { - path: "/button", - element: , - }, - { - path: "/all", - element: , - }, - ]); -} - -createRoot(document.getElementById("root")).render( - -); - -window.myModel = reactiveModel; +import { configure, makeAutoObservable } from "mobx"; +import { createBrowserRouter, RouterProvider } from "react-router-dom"; +import { createRoot } from "react-dom/client"; +import { connectToFirebase } from "../firebase"; +import { model } from "./model"; +import App from "./pages/App.jsx"; +import "./styles.css"; + +import SharedView from "./pages/SharedView.jsx"; +import { JsonToDatabase } from "./presenters/Tests/JsonToDatabase"; +import { AllCoursesPresenter } from "./presenters/Tests/AllCoursesPresenter.jsx"; + + +configure({ enforceActions: "never" }); + +const reactiveModel = makeAutoObservable(model); +connectToFirebase(reactiveModel); + +export function makeRouter(reactiveModel) { + return createBrowserRouter([ + { + path: "/", + element: , + }, + { + path: "/share", + //element: , + element: , + }, + { + path: "/button", + element: , + }, + { + path: "/all", + element: , + }, + + ]); +} + +createRoot(document.getElementById("root")).render( + +); + +window.myModel = reactiveModel; diff --git a/my-app/src/presenters/PrerequisitePresenter.jsx b/my-app/src/presenters/PrerequisitePresenter.jsx index aba8506..0b83380 100644 --- a/my-app/src/presenters/PrerequisitePresenter.jsx +++ b/my-app/src/presenters/PrerequisitePresenter.jsx @@ -23,7 +23,7 @@ export const PrerequisitePresenter = observer((props) => { let codeCounter = 0; let hover_popup = document.createElement("div"); hover_popup.setAttribute("id", "course_popup"); - hover_popup.style.fontSize = 0.75 + "rem"; + hover_popup.style.fontSize = 1 + "rem"; hover_popup.style.pointerEvents = "none"; hover_popup.style.position = "absolute"; hover_popup.style.backgroundColor = "white"; @@ -111,9 +111,9 @@ export const PrerequisitePresenter = observer((props) => { const popupHeight = pos.height + 20; hover_popup.style.minWidth = popupWidth + "px"; hover_popup.style.minHeight = popupHeight + "px"; - hover_popup.style.maxWidth = pos.width * 3 + "px"; + hover_popup.style.maxWidth = pos.width * 2 + "px"; - hover_popup.style.fontSize = window.getComputedStyle(document.querySelector(`[data-id="${node.id}"]`)).fontSize; + //hover_popup.style.fontSize = window.getComputedStyle(document.querySelector(`[data-id="${node.id}"]`)).fontSize; hover_popup.style.display = "flex"; diff --git a/my-app/src/styles.css b/my-app/src/styles.css index 8df6d22..7b7959a 100644 --- a/my-app/src/styles.css +++ b/my-app/src/styles.css @@ -26,15 +26,20 @@ .bm-burger-button { position: absolute; width: 36px; - height: 30px; - left: 20px; - top: 20px; + height: 36px; + left: 36px; + top: 36px; } - -.bm-menu-wrap { - position: fixed; - height: 100%; - z-index: 10; -} +/* Hide scrollbars everywhere but allow scrolling */ +html, body { + overflow: auto; + scrollbar-width: none; /* Firefox */ + -ms-overflow-style: none; /* Internet Explorer 10+ */ + } + + html::-webkit-scrollbar, + body::-webkit-scrollbar { + display: none; /* Chrome, Safari, Edge */ + } diff --git a/my-app/src/views/ListView.jsx b/my-app/src/views/ListView.jsx index 50fb489..6c46853 100644 --- a/my-app/src/views/ListView.jsx +++ b/my-app/src/views/ListView.jsx @@ -2,6 +2,7 @@ import React, { useState, useEffect, useCallback } from 'react'; import { DotPulse, Quantum } from 'ldrs/react'; import 'ldrs/react/Quantum.css'; import InfiniteScroll from 'react-infinite-scroll-component'; +import { useNavigate, Link } from 'react-router-dom'; function ListView(props) { const [displayedCourses, setDisplayedCourses] = useState([]); @@ -10,7 +11,8 @@ function ListView(props) { const [isLoading, setIsLoading] = useState(true); const [sortBy, setSortBy] = useState('relevance'); const [sortDirection, setSortDirection] = useState('asc'); - + const navigate = useNavigate(); + const toggleReadMore = (courseCode) => { setReadMore(prevState => ({ ...prevState, @@ -30,7 +32,6 @@ function ListView(props) { let ret_string = ""; if (periods) { let keys = Object.keys(periods); - // console.log(periods["P1"]) for (let key of keys) { if (periods[key]) { ret_string += key + " | "; @@ -42,9 +43,9 @@ function ListView(props) { } }; - const handlePeriods2 = (course) => { - return "Test"; - } + const handleClickBackArrow = (course_name) => { + navigate(course_name); + }; useEffect(() => { @@ -157,6 +158,7 @@ function ListView(props) { initialScrollY={0} > {displayedCourses.map(course => ( +
{ props.setSelectedCourse(course); @@ -243,6 +245,7 @@ function ListView(props) {
+ ))}