From beeca701681957f7691759cf62ebdb0867912d3e Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 15 May 2025 02:51:32 -0700 Subject: feat(CommandPalette): Per-item tags --- src/lib/CommandPalette/CommandPalette.svelte | 7 ++++- src/lib/CommandPalette/actions.ts | 44 ++++++++++++++++++++++------ 2 files changed, 41 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/lib/CommandPalette/CommandPalette.svelte b/src/lib/CommandPalette/CommandPalette.svelte index 79d4698f..6e4c61fd 100644 --- a/src/lib/CommandPalette/CommandPalette.svelte +++ b/src/lib/CommandPalette/CommandPalette.svelte @@ -8,6 +8,7 @@ url: string; onClick?: () => void; preventDefault?: boolean; + tags?: string[]; } export let items: CommandPaletteItem[] = []; @@ -27,7 +28,11 @@ }); filtered = items - .filter((item) => item.name.toLowerCase().includes(search.toLowerCase())) + .filter( + (item) => + item.name.toLowerCase().includes(search.toLowerCase()) || + item.tags?.some((tag) => tag.toLowerCase().includes(search.toLowerCase())) + ) .slice(0, 10); } diff --git a/src/lib/CommandPalette/actions.ts b/src/lib/CommandPalette/actions.ts index de24fb7d..8ed6e968 100644 --- a/src/lib/CommandPalette/actions.ts +++ b/src/lib/CommandPalette/actions.ts @@ -1,38 +1,64 @@ export const defaultActions = [ { name: 'Home', - url: '/' + url: '/', + tags: ['main', 'manga', 'anime', 'light', 'dashboard', 'start', 'begin', 'novels'] }, { name: 'Completed', - url: '/completed' + url: '/completed', + tags: ['finish', 'end', 'done', 'finish', 'end', 'done', 'anime', 'novels', 'manga'] }, { name: 'Subtitle Schedule', - url: '/schedule' + url: '/schedule', + tags: ['anime', 'subs'] }, { name: 'hololive Schedule', - url: '/hololive' + url: '/hololive', + tags: ['vtuber', 'youtube', 'virtual', 'twitch', 'stream'] }, { name: 'Character Birthdays', - url: '/birthdays' + url: '/birthdays', + tags: ['schedule', 'vtuber', 'date'] }, { name: 'New Releases', - url: '/releases' + url: '/releases', + tags: ['novels', 'manga', 'date', 'schedule', 'time'] }, { name: 'Settings', - url: '/settings' + url: '/settings', + tags: [ + 'sync', + 'display', + 'hide', + 'panels', + 'motion', + 'accessibility', + 'notifications', + 'rss', + 'warning', + 'show', + 'links', + 'sort', + 'calculation', + 'cache', + 'clear', + 'debug' + ] }, { name: 'My Profile', - url: '/user' + url: '/user', + tags: ['user', 'me', 'settings'] }, { name: 'My Badge Wall', - url: '/user?badges=1' + url: '/user?badges=1', + tags: ['user', 'me', 'settings'] } ]; -- cgit v1.2.3