use prompt.basic instead of full prompt

zio/stable
Samuel Newman 2024-03-13 18:13:36 +00:00
parent 1c25c76645
commit 7bdaa624b7
1 changed files with 28 additions and 2 deletions

View File

@ -85,11 +85,13 @@ let PostDropdownBtn = ({
const {mutedWordsDialogControl} = useGlobalDialogsControlContext() const {mutedWordsDialogControl} = useGlobalDialogsControlContext()
const deletePromptControl = useDialogControl() const deletePromptControl = useDialogControl()
const hidePromptControl = useDialogControl() const hidePromptControl = useDialogControl()
const loggedOutWarningPromptControl = useDialogControl()
const rootUri = record.reply?.root?.uri || postUri const rootUri = record.reply?.root?.uri || postUri
const isThreadMuted = mutedThreads.includes(rootUri) const isThreadMuted = mutedThreads.includes(rootUri)
const isPostHidden = hiddenPosts && hiddenPosts.includes(postUri) const isPostHidden = hiddenPosts && hiddenPosts.includes(postUri)
const isAuthor = postAuthor.did === currentAccount?.did const isAuthor = postAuthor.did === currentAccount?.did
const href = React.useMemo(() => { const href = React.useMemo(() => {
const urip = new AtUri(postUri) const urip = new AtUri(postUri)
return makeProfileLink(postAuthor, 'post', urip.rkey) return makeProfileLink(postAuthor, 'post', urip.rkey)
@ -167,6 +169,17 @@ let PostDropdownBtn = ({
hidePost({uri: postUri}) hidePost({uri: postUri})
}, [postUri, hidePost]) }, [postUri, hidePost])
const shouldShowLoggedOutWarning = React.useMemo(() => {
return !!postAuthor.labels?.find(
label => label.val === '!no-unauthenticated',
)
}, [postAuthor])
const onSharePost = React.useCallback(() => {
const url = toShareUrl(href)
shareUrl(url)
}, [href])
return ( return (
<EventStopper onKeyDown={false}> <EventStopper onKeyDown={false}>
<Menu.Root> <Menu.Root>
@ -217,8 +230,11 @@ let PostDropdownBtn = ({
testID="postDropdownShareBtn" testID="postDropdownShareBtn"
label={isWeb ? _(msg`Copy link to post`) : _(msg`Share`)} label={isWeb ? _(msg`Copy link to post`) : _(msg`Share`)}
onPress={() => { onPress={() => {
const url = toShareUrl(href) if (shouldShowLoggedOutWarning) {
shareUrl(url) loggedOutWarningPromptControl.open()
} else {
onSharePost()
}
}}> }}>
<Menu.ItemText> <Menu.ItemText>
{isWeb ? _(msg`Copy link to post`) : _(msg`Share`)} {isWeb ? _(msg`Copy link to post`) : _(msg`Share`)}
@ -342,6 +358,16 @@ let PostDropdownBtn = ({
onConfirm={onHidePost} onConfirm={onHidePost}
confirmButtonCta={_(msg`Hide`)} confirmButtonCta={_(msg`Hide`)}
/> />
<Prompt.Basic
control={loggedOutWarningPromptControl}
title={_(msg`Note about sharing`)}
description={_(
msg`This post is only visible to logged-in users. It won't be visible to people who aren't logged in.`,
)}
onConfirm={onSharePost}
confirmButtonCta={_(msg`Share anyway`)}
/>
</EventStopper> </EventStopper>
) )
} }