diff --git a/svelte-ui/src/App.svelte b/svelte-ui/src/App.svelte
index 1c40280..518cc3a 100644
--- a/svelte-ui/src/App.svelte
+++ b/svelte-ui/src/App.svelte
@@ -5,10 +5,7 @@
import FrontPage from "./pages/FrontPage.svelte";
import ProjectPage from "./pages/ProjectPage.svelte";
import ModalRoute from "./components/ModalRoute.svelte";
- import LogAddForm from "./forms/LogAddForm.svelte";
import LogsPage from "./pages/LogsPage.svelte";
- import LogEditForm from "./forms/LogEditForm.svelte";
- import LogDeleteForm from "./forms/LogDeleteForm.svelte";
import TaskAddForm from "./forms/TaskAddForm.svelte";
import TaskEditForm from "./forms/TaskEditForm.svelte";
import TaskDeleteForm from "./forms/TaskDeleteForm.svelte";
@@ -22,9 +19,10 @@
import GroupForm from "./forms/GroupForm.svelte";
import GoalPage from "./pages/GoalPage.svelte";
import GoalForm from "./forms/GoalForm.svelte";
+ import LogForm from "./forms/LogForm.svelte";
import LoginForm from "./forms/LoginForm.svelte";
import authStore from "./stores/auth";
-import FocusHandler from "./components/FocusHandler.svelte";
+ import FocusHandler from "./components/FocusHandler.svelte";
onMount(() => {
authStore.check()
@@ -44,9 +42,9 @@ import FocusHandler from "./components/FocusHandler.svelte";
-
-
-
+
+
+
diff --git a/svelte-ui/src/components/ProjectEntry.svelte b/svelte-ui/src/components/ProjectEntry.svelte
index d9156ec..a1080c4 100644
--- a/svelte-ui/src/components/ProjectEntry.svelte
+++ b/svelte-ui/src/components/ProjectEntry.svelte
@@ -30,7 +30,10 @@
$: mdAddTask = {name:"task.add", project};
$: mdProjectEdit = {name:"project.edit", project};
$: mdProjectDelete = {name:"project.delete", project};
- $: progressAmount = project.tasks.map(t => Math.min(t.completedAmount, t.itemAmount) * t.item.groupWeight).reduce((n,m) => n+m, 0);
+ $: progressAmount = project.tasks.map(t => t.active
+ ? Math.min(t.completedAmount, t.itemAmount) * t.item.groupWeight
+ : t.itemAmount * t.item.groupWeight
+ ).reduce((n,m) => n+m, 0);
$: progressTarget = Math.max(project.tasks.map(t => t.itemAmount * t.item.groupWeight).reduce((n,m) => n+m, 0), 1);
diff --git a/svelte-ui/src/forms/LogAddForm.svelte b/svelte-ui/src/forms/LogAddForm.svelte
deleted file mode 100644
index 7f7ddf4..0000000
--- a/svelte-ui/src/forms/LogAddForm.svelte
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/svelte-ui/src/forms/LogDeleteForm.svelte b/svelte-ui/src/forms/LogDeleteForm.svelte
deleted file mode 100644
index d0f4cd3..0000000
--- a/svelte-ui/src/forms/LogDeleteForm.svelte
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/svelte-ui/src/forms/LogEditForm.svelte b/svelte-ui/src/forms/LogEditForm.svelte
deleted file mode 100644
index 1f580fd..0000000
--- a/svelte-ui/src/forms/LogEditForm.svelte
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/svelte-ui/src/forms/LogForm.svelte b/svelte-ui/src/forms/LogForm.svelte
new file mode 100644
index 0000000..4294e9b
--- /dev/null
+++ b/svelte-ui/src/forms/LogForm.svelte
@@ -0,0 +1,106 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/svelte-ui/src/stores/markStale.ts b/svelte-ui/src/stores/markStale.ts
new file mode 100644
index 0000000..14a7fdd
--- /dev/null
+++ b/svelte-ui/src/stores/markStale.ts
@@ -0,0 +1,31 @@
+import goalStore, { fpGoalStore } from "./goal";
+import groupStore from "./group";
+import logStore from "./logs";
+import projectStore, { fpProjectStore } from "./project";
+import taskStore, { fpTaskStore } from "./tasks";
+
+type ModelName = "goal" | "project" | "task" | "group" | "item" | "log"
+
+export default function markStale(...models: ModelName[]) {
+ if (models.includes("goal")) {
+ goalStore.markStale();
+ fpGoalStore.markStale();
+ }
+ if (models.includes("project")) {
+ projectStore.markStale();
+ fpProjectStore.markStale();
+ }
+ if (models.includes("task")) {
+ taskStore.markStale();
+ fpTaskStore.markStale();
+ }
+ if (models.includes("group")) {
+ groupStore.markStale();
+ }
+ if (models.includes("item")) {
+ // Do nothing.
+ }
+ if (models.includes("log")) {
+ logStore.markStale();
+ }
+}
\ No newline at end of file