diff options
| author | Fuwn <[email protected]> | 2025-05-15 02:51:32 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-05-15 02:51:32 -0700 |
| commit | beeca701681957f7691759cf62ebdb0867912d3e (patch) | |
| tree | 26fb4730e92fb63d7223ff53a5f1cc0da99095bc /src | |
| parent | fix(CommandPalette): Single result sized padding for no results text (diff) | |
| download | due.moe-beeca701681957f7691759cf62ebdb0867912d3e.tar.xz due.moe-beeca701681957f7691759cf62ebdb0867912d3e.zip | |
feat(CommandPalette): Per-item tags
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/CommandPalette/CommandPalette.svelte | 7 | ||||
| -rw-r--r-- | src/lib/CommandPalette/actions.ts | 44 |
2 files changed, 41 insertions, 10 deletions
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'] } ]; |