mirror of
https://github.com/moku-project/Moku.git
synced 2026-06-13 09:19:56 -05:00
Chore: Restructure Repository for SvelteKit
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
import { store, updateSettings, setCategories, setLibraryUpdates, addToast } from "@store/state.svelte";
|
||||
import type { LibrarySortMode, LibrarySortDir, LibraryStatusFilter, LibraryContentFilter } from "@store/state.svelte";
|
||||
import type { Category } from "@types";
|
||||
|
||||
export { store };
|
||||
|
||||
export function setTabSort(tab: string, mode: LibrarySortMode, dir?: LibrarySortDir) {
|
||||
const prev = store.settings.libraryTabSort[tab];
|
||||
const newDir = dir ?? prev?.dir ?? "asc";
|
||||
updateSettings({
|
||||
libraryTabSort: { ...store.settings.libraryTabSort, [tab]: { mode, dir: newDir } },
|
||||
});
|
||||
}
|
||||
|
||||
export function toggleTabSortDir(tab: string) {
|
||||
const prev = store.settings.libraryTabSort[tab];
|
||||
const mode = prev?.mode ?? "az";
|
||||
const dir = prev?.dir === "asc" ? "desc" : "asc";
|
||||
setTabSort(tab, mode, dir);
|
||||
}
|
||||
|
||||
export function setTabStatus(tab: string, status: LibraryStatusFilter) {
|
||||
updateSettings({
|
||||
libraryTabStatus: { ...store.settings.libraryTabStatus, [tab]: status },
|
||||
});
|
||||
}
|
||||
|
||||
export function toggleTabFilter(tab: string, filter: LibraryContentFilter) {
|
||||
const current = store.settings.libraryTabFilters?.[tab] ?? {};
|
||||
updateSettings({
|
||||
libraryTabFilters: {
|
||||
...(store.settings.libraryTabFilters ?? {}),
|
||||
[tab]: { ...current, [filter]: !current[filter] },
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
export function clearTabFilters(tab: string) {
|
||||
updateSettings({
|
||||
libraryTabStatus: { ...store.settings.libraryTabStatus, [tab]: "ALL" },
|
||||
libraryTabFilters: { ...(store.settings.libraryTabFilters ?? {}), [tab]: {} },
|
||||
});
|
||||
}
|
||||
|
||||
export { setCategories, setLibraryUpdates, addToast };
|
||||
Reference in New Issue
Block a user