mirror of
https://github.com/quatalog/site.git
synced 2024-11-14 02:42:50 +00:00
Search is kinda working, and CSS works too
This commit is contained in:
parent
959c2893e5
commit
e29e1a146a
|
@ -21,6 +21,11 @@
|
|||
font-size: calc(1vmin + 12px);
|
||||
}
|
||||
|
||||
* {
|
||||
font-family: "proxima-nova";
|
||||
/* font-family: "IBM Plex Sans"; */
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--deep-purple);
|
||||
overflow-x:hidden;
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
|
||||
#code {
|
||||
color: var(--quacs-midtone);
|
||||
font-family: "proxima-nova";
|
||||
font-size: 1.8rem;
|
||||
font-weight: 900;
|
||||
position: relative;
|
||||
|
@ -44,7 +43,6 @@
|
|||
|
||||
.attr-pill{
|
||||
color: var(--deep-purple);
|
||||
font-family: "proxima-nova";
|
||||
position: relative;
|
||||
left: 0vw;
|
||||
background: var(--quacs-midtone);
|
||||
|
@ -63,7 +61,6 @@
|
|||
.rel-info-title{
|
||||
font-size: 1.25rem;
|
||||
font-weight: 700;
|
||||
font-family: "proxima-nova";
|
||||
color: var(--quacs-white);
|
||||
margin-right: 0.5vmin;
|
||||
}
|
||||
|
@ -76,7 +73,6 @@
|
|||
|
||||
.course-pill{
|
||||
color: var(--deep-purple);
|
||||
font-family: "proxima-nova";
|
||||
|
||||
position: relative;
|
||||
left: 0vw;
|
||||
|
@ -119,7 +115,6 @@
|
|||
|
||||
.pr-or-title{
|
||||
color: var(--quacs-white);
|
||||
font-family: "proxima-nova";
|
||||
font-size: 1.3rem;
|
||||
font-weight: 700;
|
||||
margin-bottom: 0.5vmin;
|
||||
|
@ -154,7 +149,6 @@
|
|||
background: var(--red);
|
||||
padding: 1vmin;
|
||||
color: var(--quacs-white);
|
||||
font-family: "proxima-nova";
|
||||
font-size: 1.2rem;
|
||||
font-weight: 700;
|
||||
width: min-content;
|
||||
|
@ -166,7 +160,6 @@
|
|||
.none-rect{
|
||||
background: var(--red);
|
||||
color: var(--quacs-white);
|
||||
font-family: "proxima-nova";
|
||||
font-size: 2vmin;
|
||||
position: relative;
|
||||
left: 0vw;
|
||||
|
@ -181,7 +174,6 @@
|
|||
.unknown-rect{
|
||||
background: var(--pink);
|
||||
color: var(--quacs-white);
|
||||
font-family: "proxima-nova";
|
||||
font-size: 2vmin;
|
||||
position: relative;
|
||||
left: 0vw;
|
||||
|
@ -233,7 +225,6 @@
|
|||
|
||||
.key-code{
|
||||
color: var(--quacs-midtone);
|
||||
font-family: 'proxima-nova';
|
||||
}
|
||||
|
||||
.code-icon svg {
|
||||
|
@ -293,7 +284,6 @@
|
|||
|
||||
.term{
|
||||
color: var(--deep-purple);
|
||||
font-family: "proxima-nova";
|
||||
font-size: 1.5vmin;
|
||||
width: min-content;
|
||||
/* word-break: break-all; */
|
||||
|
@ -335,7 +325,6 @@ input[value="detailed"]:checked ~ div #detail-view-label {
|
|||
.view-option-label {
|
||||
cursor: pointer;
|
||||
transition: color .1s;
|
||||
font-family: "proxima-nova";
|
||||
color: var(--quacs-midtone);
|
||||
}
|
||||
|
||||
|
@ -403,26 +392,18 @@ input[value="detailed"]:checked ~ table .detail-view-container {
|
|||
margin-bottom: 0.15rem;
|
||||
}
|
||||
|
||||
.course-capacity-meter {
|
||||
font-family: monospace;
|
||||
font-size: 0.3rem;
|
||||
}
|
||||
|
||||
.season-label{
|
||||
color: var(--quacs-midtone);
|
||||
font-family: "proxima-nova";
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
.midsum-label{
|
||||
color: var(--quacs-white);
|
||||
font-family: "proxima-nova";
|
||||
white-space: break-spaces;
|
||||
}
|
||||
|
||||
.year{
|
||||
color: var(--quacs-midtone);
|
||||
font-family: "proxima-nova";
|
||||
text-align: left;
|
||||
width: 6vmin;
|
||||
}
|
||||
|
|
|
@ -1,40 +1,42 @@
|
|||
"use strict";
|
||||
const search_helper = function(event) {
|
||||
const search_helper = async function(event) {
|
||||
event.preventDefault();
|
||||
// "a b cde 12" => "a b cde 12"
|
||||
const input = document.getElementById("search").value.split(" ").join(" ");
|
||||
console.log(input);
|
||||
|
||||
var course_code = false;
|
||||
if(input.length == 8) {
|
||||
// "abcd1345" => ["abcd","1345"]
|
||||
course_code = input.match(/.{1,4}/g)
|
||||
} else if(input.length == 9) {
|
||||
} else if(input.replace(/ |-/g,"").length == 8) {
|
||||
// "abcd - 1345" => ["abcd","1345"]
|
||||
course_code = input.split(/(?:-| )+/);
|
||||
const arr = input.split(/(?:-| )+/);
|
||||
if(arr.length == 2) course_code = arr;
|
||||
}
|
||||
|
||||
// only do this logic if the string might be a course code
|
||||
// avoid having to fetch the courses_list if it definitely isn't one
|
||||
if(course_code) {
|
||||
// ["abcd","1345"] => "ABCD-1345"
|
||||
course_code[0] = course_code[0].toUpperCase();
|
||||
const code_str = course_code.join("-");
|
||||
|
||||
// check if "ABCD-1345" is a real course code
|
||||
const course_exists = fetch("../courses_list.json")
|
||||
const course_exists = await fetch("../courses_list.json")
|
||||
.then(list => list.json())
|
||||
.then(list => code_str in list);
|
||||
.then(list => list.includes(code_str));
|
||||
|
||||
// if it is, redirect to it
|
||||
if(course_exists) {
|
||||
// handle both homepage and courses pages
|
||||
// handle both homepage and courses pages (which are in a directory)
|
||||
if(window.location.pathname.split("/").slice(-2,-1)[0] != "courses") {
|
||||
location.href = "courses/"+code_str;
|
||||
location.href = "courses/"+code_str + ".html";
|
||||
} else {
|
||||
location.href = code_str;
|
||||
location.href = code_str + ".html";
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
location.href = "../search?search=" + encodeURIComponent(input);
|
||||
location.href = "../search" + ".html" + "?search=" + encodeURIComponent(input);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue