From 78b7c729ee97fae4d315bb92255fd51670f292fa Mon Sep 17 00:00:00 2001 From: Sahej Panag Date: Tue, 9 Apr 2024 16:45:06 -0400 Subject: [PATCH 1/3] changes mentioned by alexis --- frontend/src/App.tsx | 4 ++-- frontend/src/screens/MainScreenWrapper.css | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 8ebdd3e..8d4280a 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -5,8 +5,8 @@ function App() { return ( <> -
- + PeerNotes Logo select { padding: 8px; border: 1px solid #2E8BC0; border-radius: 4px; - width: 100%; /* fill the container width */ - } + width: 100%; +} + +.filter-item { + width: 100%; +} .submit-button { padding: 8px 16px; From 78988ed5ce0db4a4c9f9093c1cf7f7b7aa8b45b5 Mon Sep 17 00:00:00 2001 From: Sahej Panag Date: Tue, 9 Apr 2024 16:47:36 -0400 Subject: [PATCH 2/3] removing redundancy --- frontend/src/assets/PeerNotes.png | Bin 108626 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 frontend/src/assets/PeerNotes.png diff --git a/frontend/src/assets/PeerNotes.png b/frontend/src/assets/PeerNotes.png deleted file mode 100644 index cc142ee96db5cbc2d2cbfc77a16286f15039fa44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108626 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 Date: Fri, 12 Apr 2024 15:23:40 -0400 Subject: [PATCH 3/3] second screen draft --- frontend/package-lock.json | 41 ++++++++++++- frontend/package.json | 3 +- frontend/src/App.css | 14 +++++ frontend/src/App.tsx | 27 ++++----- frontend/src/components/MainSearch.tsx | 53 ++++++++++++++--- frontend/src/components/Results.tsx | 69 ++++++++++++++++++++++ frontend/src/screens/MainScreenWrapper.css | 7 +++ frontend/src/screens/Results.module.css | 57 ++++++++++++++++++ 8 files changed, 246 insertions(+), 25 deletions(-) create mode 100644 frontend/src/components/Results.tsx create mode 100644 frontend/src/screens/Results.module.css diff --git a/frontend/package-lock.json b/frontend/package-lock.json index d74e05d..b76376c 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,7 +9,8 @@ "version": "0.0.0", "dependencies": { "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-router-dom": "^6.22.3" }, "devDependencies": { "@types/react": "^18.2.64", @@ -569,6 +570,14 @@ "node": ">= 8" } }, + "node_modules/@remix-run/router": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", + "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.13.0", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.0.tgz", @@ -2373,6 +2382,36 @@ "react": "^18.2.0" } }, + "node_modules/react-router": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", + "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", + "dependencies": { + "@remix-run/router": "1.15.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", + "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", + "dependencies": { + "@remix-run/router": "1.15.3", + "react-router": "6.22.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index c0de196..f3ae3f2 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,7 +11,8 @@ }, "dependencies": { "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-router-dom": "^6.22.3" }, "devDependencies": { "@types/react": "^18.2.64", diff --git a/frontend/src/App.css b/frontend/src/App.css index e69de29..6e19a9f 100644 --- a/frontend/src/App.css +++ b/frontend/src/App.css @@ -0,0 +1,14 @@ +.App { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; /* If you're centering the content */ + height: 100vh; /* Full height */ + margin-top: -100px; /* Move up */ + } + + body { + background-color: #0C2D48; + font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; + } + \ No newline at end of file diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 8d4280a..570d257 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,22 +1,21 @@ import './App.css' +import { BrowserRouter, Routes, Route } from 'react-router-dom'; import MainSearch from './components/MainSearch'; +import Results from './components/Results'; function App() { - return ( - <> -
- PeerNotes Logo - -
- - ) + +
+
+
+ + } /> + } /> + +
+
+ ); } export default App diff --git a/frontend/src/components/MainSearch.tsx b/frontend/src/components/MainSearch.tsx index 2558f8f..70021cf 100644 --- a/frontend/src/components/MainSearch.tsx +++ b/frontend/src/components/MainSearch.tsx @@ -1,38 +1,73 @@ -import React from 'react'; +import React, { useState, FormEvent } from 'react'; +import { useNavigate } from 'react-router-dom'; import '../screens/MainScreenWrapper.css'; +interface Filters { + professor: string; + course: string; + topic: string; +} + const MainSearch: React.FC = () => { + const [filters, setFilters] = useState({ + professor: '', + course: '', + topic: '', + }); + + const navigate = useNavigate(); + + const handleChange = (event: React.ChangeEvent) => { + const { name, value } = event.target; + setFilters((prevFilters: Filters) => ({ + ...prevFilters, + [name]: value, + })); + }; + + const handleSubmit = (event: React.FormEvent) => { + event.preventDefault(); + var input = filters.toString() + const searchParams = new URLSearchParams(input) + navigate(`/results?${searchParams}`); + }; + return ( -
+ <> +
+ PeerNotes Logo +
+
- - {/* temporary */} + {/* temporary options */}
- - {/* temporary */} + {/* temporary options */}
- - {/* temporary */} + {/* temporary options */}
-
+ + ); } diff --git a/frontend/src/components/Results.tsx b/frontend/src/components/Results.tsx new file mode 100644 index 0000000..22e19e2 --- /dev/null +++ b/frontend/src/components/Results.tsx @@ -0,0 +1,69 @@ +import React, { useState, useEffect } from 'react'; +import { useLocation, useNavigate } from 'react-router-dom'; +import styles from '../screens/Results.module.css'; // Make sure this path is correct + +interface File { + id: string; + name: string; // do we even use id and name? + professor: string; + course: string; + type?: string; // Assumed type is optional + // what other properties to add?semester? +} + +const Results: React.FC = () => { + const [files, setFiles] = useState([]); + const [isLoading, setLoading] = useState(false); + const location = useLocation(); + const navigate = useNavigate(); + + useEffect(() => { + const fetchFiles = async () => { + setLoading(true); + try { + // Need to double check this + const queryString = location.search; // Includes the '?' prefix + const response = await fetch(`/api/path-to-filefilterview${queryString}`); + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + const data = await response.json(); + setFiles(data); + } catch (e) { + console.error("Could not fetch files", e); + } finally { + setLoading(false); + } + }; + + fetchFiles(); + }, [location]); + + const handleSearchAgain = () => { + navigate('/'); + }; + + if (isLoading) return
Loading...
; + + return ( +
+
+ PeerNotes Logo + +
+
+ {isLoading ? ( +

Loading...

+ ) : files.length ? ( + + {/* Table structure here */} +
+ ) : ( +

No results found.

+ )} +
+
+ ); +}; + +export default Results; diff --git a/frontend/src/screens/MainScreenWrapper.css b/frontend/src/screens/MainScreenWrapper.css index f1d68e6..4c2d85c 100644 --- a/frontend/src/screens/MainScreenWrapper.css +++ b/frontend/src/screens/MainScreenWrapper.css @@ -15,9 +15,16 @@ html, body { justify-content: center; padding: 20px; background: #B1D4E0; + gap: 15; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* shadow */ } + + .logo { + height: 100px; /* Adjust this value as needed */ + width: auto; /* Keep the logo's aspect ratio */ + margin-bottom: 15px; /* Gap between logo and search box */ + } .filter-item + .filter-item { margin-top: 20px; /* space between filter items */ diff --git a/frontend/src/screens/Results.module.css b/frontend/src/screens/Results.module.css new file mode 100644 index 0000000..30223ec --- /dev/null +++ b/frontend/src/screens/Results.module.css @@ -0,0 +1,57 @@ +.wrapper { + display: flex; + flex-direction: column; + height: 100vh; + color: #FFFFFF; + } + + .header { + display: flex; + justify-content: space-between; + padding: 10px 20px; + position: fixed; + width: 100%; + top: 0; + left: 0; + background-color: #145DA0; + } + + .logo { + height: 80px; /* Adjust according to preference */ + margin-right: auto; + } + + + .resultsContainer { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding-top: 100px; /* Adjust based on header height to ensure content doesn't overlap */ + margin: auto; + width: 90%; + max-width: 600px; + } + + .resultsTable { + /* to be filled out */ + width: 100%; + } + + + .searchAgainButton { + height: 50px; + padding: 4px 8px; + background-color: #0C2D48; + color: white; + border: none; + border-radius: 4px; + font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; + cursor: pointer; + margin-right: 35px; + margin-top: 15px; + } + + .searchAgainButton:hover { + background-color: #B1D4E0; /* lighter shade for hover effect */ + } \ No newline at end of file