+ {#each projects as project (project.id)}
+
+ {/each}
+
+{/if}
+
+
\ No newline at end of file
diff --git a/svelte-ui/src/components/QLListItem.svelte b/svelte-ui/src/components/QLListItem.svelte
new file mode 100644
index 0000000..eef1368
--- /dev/null
+++ b/svelte-ui/src/components/QLListItem.svelte
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
{project.name}
+
+
+
+
+
\ No newline at end of file
diff --git a/svelte-ui/src/components/QuestLog.svelte b/svelte-ui/src/components/QuestLog.svelte
new file mode 100644
index 0000000..8b5a369
--- /dev/null
+++ b/svelte-ui/src/components/QuestLog.svelte
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+ {#if project != null}
+
+ {/if}
+
+
+
+
\ No newline at end of file
diff --git a/svelte-ui/src/components/RefreshSelection.svelte b/svelte-ui/src/components/RefreshSelection.svelte
new file mode 100644
index 0000000..e9639fa
--- /dev/null
+++ b/svelte-ui/src/components/RefreshSelection.svelte
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/svelte-ui/src/pages/FrontPage.svelte b/svelte-ui/src/pages/FrontPage.svelte
index 6ed8bd3..8d40d10 100644
--- a/svelte-ui/src/pages/FrontPage.svelte
+++ b/svelte-ui/src/pages/FrontPage.svelte
@@ -2,10 +2,11 @@
import EmptyList from "../components/EmptyList.svelte";
import GoalEntry from "../components/GoalEntry.svelte";
import ProjectEntry from "../components/ProjectEntry.svelte";
+ import RefreshSelection from "../components/RefreshSelection.svelte";
import type { ProjectResult } from "../models/project";
import { fpGoalStore } from "../stores/goal";
- import projectStore, { fpProjectStore } from "../stores/project";
- import taskStore, { fpTaskStore } from "../stores/tasks";
+ import { fpProjectStore } from "../stores/project";
+ import { fpTaskStore } from "../stores/tasks";
let fakeProject: ProjectResult
let sortedProjects: ProjectResult[]
@@ -85,6 +86,7 @@
{/if}
+
\ No newline at end of file
diff --git a/svelte-ui/src/stores/selection.ts b/svelte-ui/src/stores/selection.ts
new file mode 100644
index 0000000..7f07f91
--- /dev/null
+++ b/svelte-ui/src/stores/selection.ts
@@ -0,0 +1,32 @@
+import { writable } from "svelte/store";
+
+interface SelectionData {
+ path: string,
+ hash: string,
+}
+
+function createSelectionStore() {
+ const {update, set, subscribe} = writable({
+ path: window.location.pathname,
+ hash: window.location.hash.slice(1),
+ });
+
+ return {
+ subscribe,
+
+ refresh() {
+ set({
+ path: window.location.pathname,
+ hash: window.location.hash.slice(1),
+ });
+ },
+
+ change(key: keyof(SelectionData), value: string) {
+ update(d => ({...d, [key]: value}));
+ },
+ }
+}
+
+const selectionStore = createSelectionStore();
+
+export default selectionStore;
\ No newline at end of file