diff options
Diffstat (limited to '')
| -rw-r--r-- | packages/shared-react/utils/bookmarkUtils.ts | 13 | ||||
| -rw-r--r-- | packages/shared/types/bookmarks.ts | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/packages/shared-react/utils/bookmarkUtils.ts b/packages/shared-react/utils/bookmarkUtils.ts index e7322712..0a089f64 100644 --- a/packages/shared-react/utils/bookmarkUtils.ts +++ b/packages/shared-react/utils/bookmarkUtils.ts @@ -38,3 +38,16 @@ export function isBookmarkStillTagging(bookmark: ZBookmark) { export function isBookmarkStillLoading(bookmark: ZBookmark) { return isBookmarkStillTagging(bookmark) || isBookmarkStillCrawling(bookmark); } + +export function getSourceUrl(bookmark: ZBookmark) { + if (bookmark.content.type === BookmarkTypes.LINK) { + return bookmark.content.url; + } + if (bookmark.content.type === BookmarkTypes.ASSET) { + return bookmark.content.sourceUrl ?? null; + } + if (bookmark.content.type === BookmarkTypes.TEXT) { + return bookmark.content.sourceUrl ?? null; + } + return null; +} diff --git a/packages/shared/types/bookmarks.ts b/packages/shared/types/bookmarks.ts index c15146f3..e5389fe6 100644 --- a/packages/shared/types/bookmarks.ts +++ b/packages/shared/types/bookmarks.ts @@ -41,6 +41,7 @@ export type ZBookmarkedLink = z.infer<typeof zBookmarkedLinkSchema>; export const zBookmarkedTextSchema = z.object({ type: z.literal(BookmarkTypes.TEXT), text: z.string(), + sourceUrl: z.string().nullish(), }); export type ZBookmarkedText = z.infer<typeof zBookmarkedTextSchema>; |
