add favorite system and other small tweaks and fixes.
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
import RefreshSelection from "../components/RefreshSelection.svelte";
|
||||
import type { ProjectResult } from "../models/project";
|
||||
import { fpGoalStore } from "../stores/goal";
|
||||
import { fpProjectStore } from "../stores/project";
|
||||
import { fpProjectStore, fpProjectStore2 } from "../stores/project";
|
||||
import { fpTaskStore } from "../stores/tasks";
|
||||
|
||||
let fakeMap: {[projectId: string]: boolean} = {}
|
||||
@@ -39,6 +39,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
$: {
|
||||
if ($fpProjectStore2.stale && !$fpProjectStore2.loading) {
|
||||
fpProjectStore2.load({
|
||||
favorite: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$: {
|
||||
const individualTasks = $fpTaskStore.tasks
|
||||
.filter(t => $fpProjectStore.projects.find(p => p.id === t.projectId) == null)
|
||||
@@ -92,11 +100,15 @@
|
||||
<h1>Upcoming Deadlines</h1>
|
||||
{/if}
|
||||
{#each sortedProjects as project (project.id)}
|
||||
<ProjectEntry isFake={fakeMap[project.id]} linkProject hideInactive project={project} />
|
||||
<ProjectEntry isFake={fakeMap[project.id]} hideInactive project={project} />
|
||||
{/each}
|
||||
{#if !$fpProjectStore.loading && $fpProjectStore.projects.length === 0}
|
||||
<EmptyList icon="check" text="All good!" />
|
||||
|
||||
{#if !$fpProjectStore2.loading || $fpProjectStore2.projects.length > 0}
|
||||
<h1>Starred Projects</h1>
|
||||
{/if}
|
||||
{#each $fpProjectStore2.projects as project (project.id)}
|
||||
<ProjectEntry hideInactive project={project} />
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
<RefreshSelection />
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
let groupedLogs: {day: number, text: string, logs: LogResult[]}[] = [];
|
||||
let minTime = formatFormTime($logStore.filter.minTime || startOfWeek(new Date()));
|
||||
let maxTime = formatFormTime(endOfWeek(new Date()));
|
||||
let maxTime = formatFormTime($logStore.filter.maxTime || endOfWeek(new Date()));
|
||||
let emptyMessage = `No logs since ${formatWeekdayDate(minTime)}.`;
|
||||
let error = "";
|
||||
let now = new Date();
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
<script lang="ts">
|
||||
import Boi from "../components/Boi.svelte";
|
||||
import QuestLog from "../components/QuestLog.svelte";
|
||||
import RefreshSelection from "../components/RefreshSelection.svelte";
|
||||
import type { ModalData } from "../stores/modal";
|
||||
import projectStore from "../stores/project";
|
||||
|
||||
const mdProjectAdd: ModalData = {name: "project.add"};
|
||||
|
||||
$: {
|
||||
if (($projectStore.stale || $projectStore.filter.active != null) && !$projectStore.loading) {
|
||||
projectStore.load({});
|
||||
@@ -16,7 +12,6 @@
|
||||
|
||||
<div class="page">
|
||||
<QuestLog projects={$projectStore.projects} />
|
||||
<Boi open={mdProjectAdd}>Add Project</Boi>
|
||||
</div>
|
||||
<RefreshSelection />
|
||||
|
||||
|
||||
Reference in New Issue
Block a user