From 36bccbefd6a302d28cb6c9ca540ad8c46e1da08e Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Fri, 5 Sep 2025 13:56:34 +0300 Subject: [PATCH] require auth for bookmarks --- src/components/PostControls/BookmarkButton.tsx | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/components/PostControls/BookmarkButton.tsx b/src/components/PostControls/BookmarkButton.tsx index 70acebc053..f729515202 100644 --- a/src/components/PostControls/BookmarkButton.tsx +++ b/src/components/PostControls/BookmarkButton.tsx @@ -9,6 +9,7 @@ import {useCleanError} from '#/lib/hooks/useCleanError' import {logger} from '#/logger' import {type Shadow} from '#/state/cache/post-shadow' import {useBookmarkMutation} from '#/state/queries/bookmarks/useBookmarkMutation' +import {useRequireAuth} from '#/state/session' import {useTheme} from '#/alf' import {Bookmark, BookmarkFilled} from '#/components/icons/Bookmark' import {Trash_Stroke2_Corner0_Rounded as TrashIcon} from '#/components/icons/Trash' @@ -30,6 +31,7 @@ export const BookmarkButton = memo(function BookmarkButton({ const {_} = useLingui() const {mutateAsync: bookmark} = useBookmarkMutation() const cleanError = useCleanError() + const requireAuth = useRequireAuth() const {viewer} = post const isBookmarked = !!viewer?.bookmarked @@ -108,13 +110,14 @@ export const BookmarkButton = memo(function BookmarkButton({ } } - const onHandlePress = async () => { - if (isBookmarked) { - await remove() - } else { - await save() - } - } + const onHandlePress = () => + requireAuth(async () => { + if (isBookmarked) { + await remove() + } else { + await save() + } + }) return (