Bookmark
The primary component for rendering a bookmark card with its metadata, cover image, tags, and action menu.Props
The bookmark object to display
Usage
Features
- Lazy Loading: Uses intersection observer to load images only when visible
- Fallback Images: Automatically handles missing cover and icon images
- Pin Badge: Displays a pin icon for pinned bookmarks
- Spotlight Effect: Interactive card spotlight effect on hover
BookmarkList
Container component that fetches, filters, sorts, and displays a grid of bookmarks.Props
This component has no props. It reads state from the BookmarkStore and AuthStore.Usage
Features
- Auto-fetch: Automatically loads bookmarks on mount
- Tag Filtering: Filters bookmarks by selected tag
- Time Period Filtering: Filter by “all”, “month”, or “week”
- Smart Sorting: Pinned bookmarks always appear first, then sorted by date
- Responsive Grid: 1 column on mobile, 2 on tablet, 3 on desktop
- Empty State: Shows empty state when no bookmarks exist
Store Dependencies
The component relies on the following store state:bookmarks: Array of bookmark objectsloading: Loading state booleanselectedTag: Currently selected tag filterorder: Sort order (“asc” or “desc”)timePeriod: Time filter (“all”, “month”, “week”)
BookmarkOptions
Dropdown menu component providing actions for managing a bookmark.Props
The bookmark object to perform actions on. See Bookmark component for full type details.
Usage
Available Actions
Copy link
Copy link
Copies the bookmark URL to clipboard
Pin to top / Unpin
Pin to top / Unpin
Toggles the bookmark’s pinned status. Pinned bookmarks appear at the top of the list.
Refresh metadata
Refresh metadata
Fetches fresh metadata from the URL, updating title, description, and cover image
Edit metadata
Edit metadata
Opens a modal to manually edit bookmark title, description, and image
Generate tags
Generate tags
Delete
Delete
Opens a confirmation modal to delete the bookmark
Toast Notifications
The component provides user feedback through toast notifications:- Success messages when operations complete
- Error messages when operations fail
- Loading indicators for async operations
- Info messages for clipboard and pin actions