aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared/utils/bookmarkUtils.ts
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-06-01 20:46:41 +0100
committerGitHub <noreply@github.com>2025-06-01 20:46:41 +0100
commitea1d0023bfee55358ebb1a96f3d06e783a219c0d (patch)
tree5bddd451728cb7dd377574a9ea1ea591bca069c4 /packages/shared/utils/bookmarkUtils.ts
parent3afe1e21df6dcc0483e74e0db02d9d82af32ecea (diff)
downloadkarakeep-ea1d0023bfee55358ebb1a96f3d06e783a219c0d.tar.zst
feat: Add support for public lists (#1511)
* WIP: public lists * Drop viewing modes * Add the public endpoint for assets * regen the openapi spec * proper handling for different asset types * Add num bookmarks and a no bookmark banner * Correctly set page title * Add a not-found page * merge the RSS and public list endpoints * Add e2e tests for the public endpoints * Redesign the share list modal * Make NEXTAUTH_SECRET not required * propery render text bookmarks * rebase migration * fix public token tests * Add more tests
Diffstat (limited to 'packages/shared/utils/bookmarkUtils.ts')
-rw-r--r--packages/shared/utils/bookmarkUtils.ts22
1 files changed, 18 insertions, 4 deletions
diff --git a/packages/shared/utils/bookmarkUtils.ts b/packages/shared/utils/bookmarkUtils.ts
index 31d7b698..97ef08fc 100644
--- a/packages/shared/utils/bookmarkUtils.ts
+++ b/packages/shared/utils/bookmarkUtils.ts
@@ -3,18 +3,32 @@ import { getAssetUrl } from "./assetUtils";
const MAX_LOADING_MSEC = 30 * 1000;
-export function getBookmarkLinkImageUrl(bookmark: ZBookmarkedLink) {
+export function getBookmarkLinkAssetIdOrUrl(bookmark: ZBookmarkedLink) {
if (bookmark.imageAssetId) {
- return { url: getAssetUrl(bookmark.imageAssetId), localAsset: true };
+ return { assetId: bookmark.imageAssetId, localAsset: true as const };
}
if (bookmark.screenshotAssetId) {
- return { url: getAssetUrl(bookmark.screenshotAssetId), localAsset: true };
+ return { assetId: bookmark.screenshotAssetId, localAsset: true as const };
}
return bookmark.imageUrl
- ? { url: bookmark.imageUrl, localAsset: false }
+ ? { url: bookmark.imageUrl, localAsset: false as const }
: null;
}
+export function getBookmarkLinkImageUrl(bookmark: ZBookmarkedLink) {
+ const assetOrUrl = getBookmarkLinkAssetIdOrUrl(bookmark);
+ if (!assetOrUrl) {
+ return null;
+ }
+ if (!assetOrUrl.localAsset) {
+ return assetOrUrl;
+ }
+ return {
+ url: getAssetUrl(assetOrUrl.assetId),
+ localAsset: true,
+ };
+}
+
export function isBookmarkStillCrawling(bookmark: ZBookmark) {
return (
bookmark.content.type == BookmarkTypes.LINK &&