mirror of
https://github.com/iib0011/omni-tools.git
synced 2025-09-20 22:49:33 +02:00
Add bookmark helper functions
This commit is contained in:
32
src/utils/bookmark.ts
Normal file
32
src/utils/bookmark.ts
Normal 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(','));
|
||||
}
|
Reference in New Issue
Block a user