From 2413f0efee2dcb4cd4c9389f5a496d4b3f71335c Mon Sep 17 00:00:00 2001 From: MohamedBassem Date: Tue, 5 Mar 2024 19:38:34 +0000 Subject: fix: Show loading indicators in the bookmark preview page --- packages/web/lib/bookmarkUtils.tsx | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 packages/web/lib/bookmarkUtils.tsx (limited to 'packages/web/lib') diff --git a/packages/web/lib/bookmarkUtils.tsx b/packages/web/lib/bookmarkUtils.tsx new file mode 100644 index 00000000..a2828c29 --- /dev/null +++ b/packages/web/lib/bookmarkUtils.tsx @@ -0,0 +1,22 @@ +import { ZBookmark } from "@hoarder/trpc/types/bookmarks"; + +const MAX_LOADING_MSEC = 30 * 1000; + +export function isBookmarkStillCrawling(bookmark: ZBookmark) { + return ( + bookmark.content.type == "link" && + !bookmark.content.crawledAt && + Date.now().valueOf() - bookmark.createdAt.valueOf() < MAX_LOADING_MSEC + ); +} + +export function isBookmarkStillTagging(bookmark: ZBookmark) { + return ( + bookmark.taggingStatus == "pending" && + Date.now().valueOf() - bookmark.createdAt.valueOf() < MAX_LOADING_MSEC + ); +} + +export function isBookmarkStillLoading(bookmark: ZBookmark) { + return isBookmarkStillTagging(bookmark) || isBookmarkStillCrawling(bookmark); +} -- cgit v1.2.3-70-g09d2