Skip to content

Commit fa10687

Browse files
authored
revised the popup and burger menu (#122)
1 parent 7e5a5c5 commit fa10687

File tree

6 files changed

+18
-20
lines changed

6 files changed

+18
-20
lines changed

my-app/src/model.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -278,13 +278,7 @@ export const model = {
278278
setSelectedCourse(course) {
279279
this.selectedCourse = course;
280280
},
281-
setSidebarState(state) {
282-
this.sidebarIsOpen = state;
283-
},
284281

285-
getSidebarState() {
286-
return this.sidebarIsOpen;
287-
},
288282

289283
toggleSidebarIsOpen() {
290284
this.sidebarIsOpen = !this.sidebarIsOpen;

my-app/src/pages/App.jsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ function MainAppLayout({ model }) {
1818
/* The sidebar styling(under the menu)*/
1919
<div className=" flex h-screen w-screen bg-[#6246a8] ">
2020
{ /* If sidebar is open, set length to 400px, else it should not be visible */}
21-
<div className={`${sidebarIsOpen ? 'w-[400px]' : 'w-0'}`}>
21+
<div className={`${sidebarIsOpen ? 'w-[400px]' : ''}`}>
2222
<Menu
2323
width={400}
2424
isOpen={model.sidebarIsOpen}
@@ -30,11 +30,12 @@ function MainAppLayout({ model }) {
3030
zIndex: '10'
3131
},
3232
bmBurgerButton: {
33-
position: 'fixed',
33+
position: 'absolute',
3434
top: '20px',
3535
left: '20px',
3636
width: '36px',
37-
height: '30px'
37+
height: '30px',
38+
zIndex: '20'
3839
},
3940
}}
4041
customBurgerIcon={ <img src="https://img.icons8.com/ios-filled/50/ffffff/menu-2.png" /> }

my-app/src/presenters/ListViewPresenter.jsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { useState, useEffect, useRef } from 'react';
44
import ListView from "../views/ListView.jsx";
55
import CoursePagePopup from '../views/Components/CoursePagePopup.jsx';
66
import PrerequisitePresenter from './PrerequisitePresenter.jsx';
7-
import {ReviewPresenter} from "../presenters/ReviewPresenter.jsx"
7+
import {ReviewPresenter} from "./ReviewPresenter.jsx"
88
import {syncScrollPositionToFirebase} from "../../firebase.js"
99

1010
const ListViewPresenter = observer(({ model }) => {
@@ -150,11 +150,13 @@ const ListViewPresenter = observer(({ model }) => {
150150
addFavourite={addFavourite}
151151
removeFavourite={removeFavourite}
152152
handleFavouriteClick={handleFavouriteClick}
153-
isOpen={model.isPopupOpen}
153+
isOpen={model.isPopupOpen}
154154
onClose={() => model.setPopupOpen(false)}
155155
course={model.selectedCourse}
156156
prerequisiteTree={preP}
157-
reviewPresenter={reviewPresenter}/>
157+
reviewPresenter={reviewPresenter}
158+
sidebarIsOpen={model.sidebarIsOpen}
159+
/>;
158160

159161
return <ListView
160162
favouriteCourses={model.favourites}

my-app/src/presenters/SearchbarPresenter.jsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { observer } from "mobx-react-lite";
33
import { useState } from 'react';
44
import CoursePagePopup from '../views/Components/CoursePagePopup.jsx';
55
import PrerequisitePresenter from './PrerequisitePresenter.jsx';
6-
import { ReviewPresenter } from "../presenters/ReviewPresenter.jsx";
6+
import { ReviewPresenter } from "./ReviewPresenter.jsx";
77
import SearchbarView from "../views/SearchbarView.jsx";
88
import Fuse from 'fuse.js'
99
import debounce from 'lodash.debounce';
@@ -109,7 +109,6 @@ const SearchbarPresenter = observer(({ model }) => {
109109
isPopupOpen={model.isPopupOpen}
110110
setIsPopupOpen={(isOpen) => model.setPopupOpen(isOpen)}
111111
setSelectedCourse={(course) => model.setSelectedCourse(course)}
112-
// popup={popup}
113112
setSearchQuery={setSearchQuery}
114113
searchQuery={searchQuery}
115114
handleFavouriteClick={handleFavouriteClick}

my-app/src/views/Components/CoursePagePopup.jsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React, { useEffect, useRef, useState } from 'react';
22
import RatingComponent from "./RatingComponent.jsx";
33
import { model } from "../../model.js";
44

5+
56
function CoursePagePopup({
67
favouriteCourses,
78
handleFavouriteClick,
@@ -10,7 +11,8 @@ function CoursePagePopup({
1011
course,
1112
prerequisiteTree,
1213
reviewPresenter,
13-
}) {
14+
sidebarIsOpen
15+
}) {
1416

1517
const treeRef = useRef(null);
1618
const [showOverlay, setShowOverlay] = useState(false);
@@ -54,12 +56,11 @@ function CoursePagePopup({
5456

5557
if (!isOpen || !course) return null;
5658

57-
console.log(course); ``
5859
return (
5960
<div
60-
61-
className="fixed backdrop-blur-sm inset-0 bg-transparent flex justify-end z-50"
62-
61+
className={`fixed backdrop-blur-lg inset-0 flex justify-center z-50 ${
62+
sidebarIsOpen ? 'pl-[400px]' : 'w-full'
63+
}`}
6364
>
6465
<div
6566
className="bg-indigo-300/75 backdrop-blur-lg h-full w-full flex flex-col overflow-auto"

my-app/src/views/SearchbarView.jsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ function SearchbarView(props) {
4545

4646
return (
4747
<div className="w-full px-6 py-6 flex items-center justify-between" onClick={handleClickOutside}>
48-
<a href="https://course-compass-inference.web.app/" className="flex items-center h-[90px] w-auto">
48+
<a href="https://course-compass-inference.web.app/"
49+
className="flex items-center h-[90px] w-auto">
4950
<img src={project_logo} className="h-[90px] w-auto" alt="KTH Logo" />
5051
</a>
5152

0 commit comments

Comments
 (0)