diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2022-07-15 23:18:36 -0400 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2022-07-15 23:18:36 -0400 |
| commit | 982d2cb09f9793fbdfcf8a1d2b2b27e4fd272469 (patch) | |
| tree | fce441de3dc8efbb8cb521deb12c0b28f5f8d968 | |
| parent | 0f290ef69316311eda5179f2d64ee22be822c8e7 (diff) | |
Read database from local file for TESTING purposes
| -rw-r--r-- | package-lock.json | 34 | ||||
| -rw-r--r-- | package.json | 1 | ||||
| -rw-r--r-- | rollup.config.js | 6 | ||||
| -rw-r--r-- | src/components/Sidebar.svelte | 106 |
4 files changed, 92 insertions, 55 deletions
diff --git a/package-lock.json b/package-lock.json index b5f2182..f2e64c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ }, "devDependencies": { "@rollup/plugin-commonjs": "^17.0.0", + "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^11.0.0", "@rollup/plugin-typescript": "^8.3.0", "@smui/button": "^4.2.0", @@ -330,6 +331,18 @@ "rollup": "^2.30.0" } }, + "node_modules/@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.8" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, "node_modules/@rollup/plugin-node-resolve": { "version": "11.2.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", @@ -2235,9 +2248,9 @@ } }, "node_modules/svelte": { - "version": "3.44.2", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.44.2.tgz", - "integrity": "sha512-jrZhZtmH3ZMweXg1Q15onb8QlWD+a5T5Oca4C1jYvSURp2oD35h4A5TV6t6MEa93K4LlX6BkafZPdQoFjw/ylA==", + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.49.0.tgz", + "integrity": "sha512-+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA==", "dev": true, "engines": { "node": ">= 8" @@ -2933,6 +2946,15 @@ "resolve": "^1.17.0" } }, + "@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.8" + } + }, "@rollup/plugin-node-resolve": { "version": "11.2.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", @@ -4320,9 +4342,9 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, "svelte": { - "version": "3.44.2", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.44.2.tgz", - "integrity": "sha512-jrZhZtmH3ZMweXg1Q15onb8QlWD+a5T5Oca4C1jYvSURp2oD35h4A5TV6t6MEa93K4LlX6BkafZPdQoFjw/ylA==", + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.49.0.tgz", + "integrity": "sha512-+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA==", "dev": true }, "svelte-check": { diff --git a/package.json b/package.json index 2279014..def4f0a 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ }, "devDependencies": { "@rollup/plugin-commonjs": "^17.0.0", + "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^11.0.0", "@rollup/plugin-typescript": "^8.3.0", "@smui/button": "^4.2.0", diff --git a/rollup.config.js b/rollup.config.js index f97c6cc..a4ce770 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -6,6 +6,7 @@ import { terser } from 'rollup-plugin-terser'; import sveltePreprocess from 'svelte-preprocess'; import typescript from '@rollup/plugin-typescript'; import css from 'rollup-plugin-css-only'; +import json from '@rollup/plugin-json'; const production = !process.env.ROLLUP_WATCH; @@ -78,7 +79,10 @@ export default { // If we're building for production (npm run build // instead of npm run dev), minify - production && terser() + production && terser(), + + // Reading from local json should only happen in development - Furkan + !production && json() ], watch: { clearScreen: false diff --git a/src/components/Sidebar.svelte b/src/components/Sidebar.svelte index 53982bb..b5b33c9 100644 --- a/src/components/Sidebar.svelte +++ b/src/components/Sidebar.svelte @@ -1,60 +1,70 @@ <script lang="ts"> - import DarkModeSwitch from "./DarkModeSwitch.svelte"; - import AssignLabs from "./AssignLabs/AssignLabs.svelte"; - import FileUploads from "./FileUploads.svelte"; + import DarkModeSwitch from "./DarkModeSwitch.svelte"; + 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"; - let sections = [ - { name: "File Uploads", component: FileUploads }, - { name: "Peer Teachers", component: null }, - { name: "Assign Labs", component: AssignLabs }, - { name: "Labs", component: null }, - { name: "Active Peer Teachers", component: null }, - { name: "Stats", component: null }, - { name: "TAMU Html Output", component: null }, - ]; + let sections = [ + { name: "File Uploads", component: FileUploads }, + { name: "Peer Teachers", component: null }, + { name: "Assign Labs", component: AssignLabs }, + { name: "Labs", component: null }, + { name: "Active Peer Teachers", component: null }, + { name: "Stats", component: null }, + { name: "TAMU Html Output", component: null }, + ]; - // Set initial page to Assign Labs while I work on it - let selected = sections[2]; + // Set initial page to Assign Labs while I work on it + let selected = sections[2]; - function chooseSection(sec) { - selected = sec; - } + onMount(async () => { + // load database on mount for testing purposes + console.log("reading local database") + parseDatabaseLocal(local_db) + }); + + function chooseSection(sec) { + selected = sec; + } </script> <!-- Entire Page --> <div class="flex flex-row h-screen"> - <!-- SIDEBAR --> - <div class="w-2/12 flex flex-col border-r"> - <!-- Header for sidebar sections --> - <div - class="font-serif flex-none text-center text-2xl text-neutral-900 p-4 border-b font-black overflow-hidden" - > - <!-- Text --> - <div>Peer Teacher Manager</div> - <div> - <DarkModeSwitch /> - </div> - </div> - - <!-- Sidebar sections --> - <div class="flex-col overflow-y-auto"> - <ul class="menu bg-base-100 w-full text-xl"> - {#each sections as sec} - <li> - <div - class={selected == sec ? "active" : ""} - on:click={() => chooseSection(sec)} - > - {sec.name} - </div> - </li> - {/each} - </ul> - </div> + <!-- SIDEBAR --> + <div class="w-2/12 flex flex-col border-r"> + <!-- Header for sidebar sections --> + <div + class="font-serif flex-none text-center text-2xl text-neutral-900 p-4 border-b font-black overflow-hidden" + > + <!-- Text --> + <div>Peer Teacher Manager</div> + <div> + <DarkModeSwitch /> + </div> </div> - <!-- Chosen Section / Component --> - <div class="flex-auto"> - <svelte:component this={selected.component} /> + <!-- Sidebar sections --> + <div class="flex-col overflow-y-auto"> + <ul class="menu bg-base-100 w-full text-xl"> + {#each sections as sec} + <li> + <div + class={selected == sec ? "active" : ""} + on:click={() => chooseSection(sec)} + > + {sec.name} + </div> + </li> + {/each} + </ul> </div> + </div> + + <!-- Chosen Section / Component --> + <div class="flex-auto"> + <svelte:component this={selected.component} /> + </div> </div> |
