cse110-fa22-group29/source/assets/scripts/main.js

55 lines
1.4 KiB
JavaScript
Raw Normal View History

2022-11-08 03:18:05 +00:00
// main.js
import {getAllReviewsFromStorage} from "./localStorage.js";
2022-11-08 03:18:05 +00:00
// Run the init() function when the page has loaded
window.addEventListener("DOMContentLoaded", init);
2022-11-08 03:18:05 +00:00
function init() {
// Get the reviews from localStorage
let reviews = getAllReviewsFromStorage();
// Add each reviews to the <main> element
addReviewsToDocument(reviews);
// Add the event listeners to the form elements
initFormHandler();
2022-11-08 03:18:05 +00:00
}
2022-11-08 03:18:05 +00:00
/**
2022-11-08 23:57:02 +00:00
* @param {Array<Object>} reviews An array of reviews
2022-11-08 03:18:05 +00:00
*/
2022-11-08 23:57:02 +00:00
function addReviewsToDocument(reviews) {
2022-11-21 19:58:26 +00:00
let reviewBox = document.getElementById("review-container");
reviews.forEach(review => {
let newReview = document.createElement("review-card");
newReview.data = review;
//TODO: want to append it to whatever the box is in layout
2022-11-21 19:58:26 +00:00
reviewBox.append(newReview);
});
2022-11-08 03:18:05 +00:00
}
/**
2022-11-11 08:03:56 +00:00
* Adds the necessary event handlers to <form> and the clear storage
2022-11-08 03:18:05 +00:00
* <button>.
*/
function initFormHandler() {
2022-11-12 22:16:03 +00:00
//btn to create form (could be its own function?)
let createBtn = document.getElementById("create-btn");
createBtn.addEventListener("click", function(){
window.location.assign("./CreatePage.html");
});
2022-11-11 20:07:58 +00:00
}
const registerServiceWorker = async () => {
if ("serviceWorker" in navigator) {
try {
const registration = await navigator.serviceWorker.register("./sw.js", {
scope: "./",
});
} catch (error) {
console.error(`Registration failed with ${error}`);
}
}
};
registerServiceWorker();