From 39feeb74ffad85ba038e70773eba30385155c950 Mon Sep 17 00:00:00 2001 From: Furkan Sahin Date: Tue, 19 Jul 2022 15:20:56 -0400 Subject: Parse local storage db if it exists. Move json parsing to `ts` files, remove `json` from rollup --- rollup.config.js | 6 +----- src/components/AssignLabs/AssignLabs.svelte | 15 ++------------- src/components/Sidebar.svelte | 19 +++++++++++-------- src/util/parser.ts | 3 ++- 4 files changed, 16 insertions(+), 27 deletions(-) diff --git a/rollup.config.js b/rollup.config.js index e0d1445..be0f95d 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -80,11 +80,7 @@ export default { // If we're building for production (npm run build // instead of npm run dev), minify - production && terser(), - - // Reading from local json should only happen in development - Furkan - // !production && json() - json() + production && terser() ], watch: { clearScreen: false diff --git a/src/components/AssignLabs/AssignLabs.svelte b/src/components/AssignLabs/AssignLabs.svelte index 3a326ad..b543509 100644 --- a/src/components/AssignLabs/AssignLabs.svelte +++ b/src/components/AssignLabs/AssignLabs.svelte @@ -3,8 +3,6 @@ import { labStore, ptStore } from "../../stores"; import Lab from "./LabBox.svelte"; import PT from "./PTBox.svelte"; - import { onMount } from "svelte"; - import { parseDatabaseLocal } from "../../util/parser"; let selectedPeerTeacher: PeerTeacher | undefined; @@ -58,14 +56,6 @@ selectedPeerTeacher?.labs.delete(id); updateReactiveDeclarations(); } - - // Load db from local storage so I don't have to keep uploading - onMount(() => { - const db = localStorage.getItem("db"); - if (db) { - parseDatabaseLocal(JSON.parse(db)); - } - });
-
Labs
+
Labs: {labs.length}
{#each compatibleLabs as lab} { unassignLab(lab.id); - }} /> {/each} @@ -134,7 +123,7 @@
-

Unassigned Labs

+

Unassigned Labs: {unassignedLabs.length}

diff --git a/src/components/Sidebar.svelte b/src/components/Sidebar.svelte index 6eecf51..92f6427 100644 --- a/src/components/Sidebar.svelte +++ b/src/components/Sidebar.svelte @@ -3,10 +3,8 @@ import AssignLabs from "./AssignLabs/AssignLabs.svelte"; import FileUploads from "./FileUploads.svelte"; import { onMount } from "svelte"; - import { parseDatabase, parseDatabaseLocal } from "../util/parser"; - import { parseDatabaseFile } from "../logic/EditorActions"; - import * as local_db from "../../pt-db.json"; - // + import { parseDatabaseLocalStorage } from "../util/parser"; + let sections = [ { name: "File Uploads", component: FileUploads }, { name: "Peer Teachers", component: null }, // TODO @@ -20,10 +18,15 @@ // Set initial page to Assign Labs while I work on it let selected = sections[2]; - onMount(async () => { - // load database on mount for testing purposes - console.log("reading local database"); - parseDatabaseLocal(local_db); + // Load from local storage. FOR TESTING PURPOSES ONLY. REMOVE THIS FROM PRODUCTION + onMount(() => { + const db = localStorage.getItem("db"); + if (db) { + console.log("Using database found in local storage"); + parseDatabaseLocalStorage(db); + } else { + console.log("No database found in local storage"); + } }); diff --git a/src/util/parser.ts b/src/util/parser.ts index 0f82996..7e062e1 100644 --- a/src/util/parser.ts +++ b/src/util/parser.ts @@ -164,7 +164,8 @@ export function parseDatabase(database: DatabaseFile) { * and updates local storage * @param database The database object from a db file */ -export function parseDatabaseLocal(database: DatabaseFile) { +export function parseDatabaseLocalStorage(database_string: string) { + const database = JSON.parse(database_string) const result = { labs: new Map(), peerTeachers: new Map() -- cgit v1.2.3