require auth for bookmarks (#8983)

This commit is contained in:
Samuel Newman
2025-09-05 17:31:25 +03:00
committed by GitHub
parent c26906e15c
commit 917256713f
+10 -7
View File
@@ -9,6 +9,7 @@ import {useCleanError} from '#/lib/hooks/useCleanError'
import {logger} from '#/logger' import {logger} from '#/logger'
import {type Shadow} from '#/state/cache/post-shadow' import {type Shadow} from '#/state/cache/post-shadow'
import {useBookmarkMutation} from '#/state/queries/bookmarks/useBookmarkMutation' import {useBookmarkMutation} from '#/state/queries/bookmarks/useBookmarkMutation'
import {useRequireAuth} from '#/state/session'
import {useTheme} from '#/alf' import {useTheme} from '#/alf'
import {Bookmark, BookmarkFilled} from '#/components/icons/Bookmark' import {Bookmark, BookmarkFilled} from '#/components/icons/Bookmark'
import {Trash_Stroke2_Corner0_Rounded as TrashIcon} from '#/components/icons/Trash' import {Trash_Stroke2_Corner0_Rounded as TrashIcon} from '#/components/icons/Trash'
@@ -30,6 +31,7 @@ export const BookmarkButton = memo(function BookmarkButton({
const {_} = useLingui() const {_} = useLingui()
const {mutateAsync: bookmark} = useBookmarkMutation() const {mutateAsync: bookmark} = useBookmarkMutation()
const cleanError = useCleanError() const cleanError = useCleanError()
const requireAuth = useRequireAuth()
const {viewer} = post const {viewer} = post
const isBookmarked = !!viewer?.bookmarked const isBookmarked = !!viewer?.bookmarked
@@ -108,13 +110,14 @@ export const BookmarkButton = memo(function BookmarkButton({
} }
} }
const onHandlePress = async () => { const onHandlePress = () =>
if (isBookmarked) { requireAuth(async () => {
await remove() if (isBookmarked) {
} else { await remove()
await save() } else {
} await save()
} }
})
return ( return (
<PostControlButton <PostControlButton