aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-10-05 18:16:19 +0000
committerMohamedBassem <me@mbassem.com>2024-10-05 18:16:46 +0000
commitb147c8e5df75bdeafb1f0eeb2e6ce08e0dec7e37 (patch)
tree1bfae4f49f8aeaf3870573831fdb62921ec38dd4 /packages/shared
parentf1c956a361539592d00836488181b69218798600 (diff)
downloadkarakeep-b147c8e5df75bdeafb1f0eeb2e6ce08e0dec7e37.tar.zst
feature: Persevere the source URL of clipped texts from the extension.
Fixes #448
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>;