diff --git a/package-lock.json b/package-lock.json index cabd2f6..0bc1c33 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "macos-task-manager", - "version": "1.0.5", + "version": "1.0.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "macos-task-manager", - "version": "1.0.5", + "version": "1.0.8", "license": "MIT", "dependencies": { "@fortawesome/fontawesome-svg-core": "^6.6.0", diff --git a/src/lib/components/ToolBar.svelte b/src/lib/components/ToolBar.svelte index 8238b54..80c16ff 100644 --- a/src/lib/components/ToolBar.svelte +++ b/src/lib/components/ToolBar.svelte @@ -8,6 +8,8 @@ faChevronDown, faChevronRight, } from "@fortawesome/free-solid-svg-icons"; + import { configStore } from "$lib/stores/config"; + import type { AppConfig } from "$lib/types/config"; export let searchTerm: string; export let statusFilter: string = "all"; export let itemsPerPage: number; @@ -46,6 +48,26 @@ currentPage = page; } } + + function handleColumnVisibilityChange(columnId: string, visible: boolean) { + configStore.updateConfig({ + appearance: { + columnVisibility: { + ...$configStore.appearance.columnVisibility, + [columnId]: visible, + }, + }, + }); + } + + function updateBehaviorConfig(key: keyof AppConfig["behavior"], value: any) { + configStore.updateConfig({ + behavior: { + ...$configStore.behavior, + [key]: value, + }, + }); + }
@@ -66,7 +88,12 @@
- + updateBehaviorConfig("defaultStatusFilter", statusFilter)} + class="select-input" + > {#each statusOptions as option} {/each} @@ -79,6 +106,7 @@ + handleColumnVisibilityChange( + column.id, + e.currentTarget.checked, + )} /> {column.label} @@ -161,6 +194,7 @@