aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--packages/shared-react/utils/bookmarkUtils.ts13
-rw-r--r--packages/shared/types/bookmarks.ts1
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>;