Add bookmark helper functions

This commit is contained in:
Yihao Wang
2025-07-13 22:50:26 +12:00
parent 3b702b260c
commit 0e09e9e027

32
src/utils/bookmark.ts Normal file
View File

@@ -0,0 +1,32 @@
import { DefinedTool } from '@tools/defineTool';
const bookmarkedToolsKey = 'bookmarkedTools';
export function getBookmarkedTools(): string[] {
return localStorage.getItem(bookmarkedToolsKey)?.split(',') ?? [];
}
export function isBookmarked(tool: DefinedTool): boolean {
return getBookmarkedTools().some((path) => path === tool.path);
}
export function toggleBookmarked(tool: DefinedTool) {
if (isBookmarked(tool)) {
unbookmark(tool);
} else {
bookmark(tool);
}
}
function bookmark(tool: DefinedTool) {
localStorage.setItem(
bookmarkedToolsKey,
tool.path + localStorage.getItem(bookmarkedToolsKey)
);
}
function unbookmark(tool: DefinedTool) {
const bookmarked = localStorage.getItem(bookmarkedToolsKey)?.split(',') ?? [];
const unbookmarked = bookmarked.filter((path) => path != tool.path);
localStorage.setItem(bookmarkedToolsKey, unbookmarked.join(','));
}