aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-05-15 02:51:32 -0700
committerFuwn <[email protected]>2025-05-15 02:51:32 -0700
commitbeeca701681957f7691759cf62ebdb0867912d3e (patch)
tree26fb4730e92fb63d7223ff53a5f1cc0da99095bc /src
parentfix(CommandPalette): Single result sized padding for no results text (diff)
downloaddue.moe-beeca701681957f7691759cf62ebdb0867912d3e.tar.xz
due.moe-beeca701681957f7691759cf62ebdb0867912d3e.zip
feat(CommandPalette): Per-item tags
Diffstat (limited to 'src')
-rw-r--r--src/lib/CommandPalette/CommandPalette.svelte7
-rw-r--r--src/lib/CommandPalette/actions.ts44
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']
}
];