import { invalidateListCaches } from "$lib/Media/invalidate"; import locale from "$stores/locale"; import { get } from "svelte/store"; export interface CommandPaletteAction { name: string; url: string; onClick?: () => void; preventDefault?: boolean; tags?: string[]; actions?: CommandPaletteAction[]; } export const defaultActions = (): CommandPaletteAction[] => { const l = get(locale)(); return [ { name: l.navigation.home, url: "/", tags: [ "main", "manga", "anime", "light", "dashboard", "start", "begin", "novels", "list", ], actions: [ { name: l.lists.upcoming.episodes.title, url: "/", tags: ["anime", "list"], }, { name: l.lists.upcoming.notYetReleased.title, url: "/", tags: ["anime", "schedule", "list"], }, { name: l.lists.due.episodes.title, url: "/", tags: ["anime", "list"], }, { name: l.lists.due.mangaAndLightNovels.title, url: "/", tags: ["novels", "manga", "list"], }, ], }, { name: l.navigation.completed, url: "/completed", tags: [ "finish", "end", "done", "finish", "end", "done", "anime", "novels", "manga", ], actions: [ { name: l.settings.media.anime, url: "/completed", tags: ["anime", "list"], }, { name: l.lists.completed.mangaAndLightNovels.title, url: "/completed", tags: ["novels", "manga", "list"], }, ], }, { name: l.navigation.subtitleSchedule, url: "/schedule", tags: ["anime", "subs"], }, { name: l.navigation.hololive, url: "/hololive", tags: ["vtuber", "youtube", "virtual", "twitch", "stream"], }, { name: l.tools.tool.characterBirthdays.short, url: "/birthdays", tags: ["schedule", "vtuber", "date"], }, { name: l.navigation.newReleases, url: "/releases", tags: ["novels", "manga", "date", "schedule", "time"], }, { name: l.navigation.settings, url: "/settings", tags: [ "sync", "display", "hide", "panels", "motion", "accessibility", "notifications", "rss", "warning", "show", "links", "sort", "calculation", "cache", "clear", "debug", "language", "locale", ], actions: [ { name: l.settings.settingsSync.title, url: "/settings#sync", tags: ["settings"], }, { name: l.settings.rssFeeds.title, url: "/settings#feeds", tags: ["settings"], }, { name: l.settings.display.title, url: "/settings", tags: ["settings"], }, { name: l.settings.calculation.title, url: "/settings", tags: ["settings"], }, { name: l.settings.cache.title, url: "/settings", tags: ["settings"], }, { name: l.settings.debug.title, url: "/settings#debug", tags: ["settings"], }, ], }, { name: l.navigation.myProfile, url: "/user", tags: ["user", "me", "settings"], actions: [ { name: l.user.preferences.title, url: "/user", tags: ["user", "me", "settings"], }, ], }, { name: l.navigation.myBadgeWall, url: "/user?badges=1", tags: ["user", "me", "settings"], }, { name: l.commandPalette?.refreshCaches ?? "Refresh Anime & Manga List Caches", url: "", preventDefault: true, tags: [ "cache", "clear", "refresh", "invalidate", "debug", "anime", "manga", "list", ], onClick: invalidateListCaches, }, ]; };