aboutsummaryrefslogtreecommitdiff
path: root/src/components/Sidebar.svelte
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2022-07-17 23:29:58 -0400
committerFurkan Sahin <furkan-dev@proton.me>2022-07-17 23:29:58 -0400
commite36e01917651ccfff64f948c36ee93d310071991 (patch)
tree8f7e2f19980474689ef626d0f9906d0f1b197cac /src/components/Sidebar.svelte
parent79242a197b79e7a3dc5a30925ecd7709093a6866 (diff)
parent99aee9a7281aa9c5794cc062e41384dc3701906d (diff)
Merge pull request #1 from sahinf/tailwind
Tailwind
Diffstat (limited to 'src/components/Sidebar.svelte')
-rw-r--r--src/components/Sidebar.svelte68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/components/Sidebar.svelte b/src/components/Sidebar.svelte
new file mode 100644
index 0000000..4a53452
--- /dev/null
+++ b/src/components/Sidebar.svelte
@@ -0,0 +1,68 @@
+<script lang="ts">
+ 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 }, // TODO
+ { name: "Assign Labs", component: AssignLabs },
+ { name: "Labs", component: null }, // TODO
+ { name: "Active Peer Teachers", component: null }, // TODO
+ { name: "Stats", component: null }, // TODO
+ { name: "TAMU Html Output", component: null }, // TODO
+ ];
+
+ // 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);
+ });
+</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={() => {
+ selected = sec;
+ }}
+ >
+ {sec.name}
+ </div>
+ </li>
+ {/each}
+ </ul>
+ </div>
+ </div>
+
+ <!-- Chosen Section / Component -->
+ <div class="flex-auto">
+ <svelte:component this={selected.component} />
+ </div>
+</div>