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 --- src/components/AssignLabs/AssignLabs.svelte | 15 ++------------- src/components/Sidebar.svelte | 19 +++++++++++-------- src/util/parser.ts | 3 ++- 3 files changed, 15 insertions(+), 22 deletions(-) (limited to 'src') 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