From f18b9b32b0d296c8d19dc06956699f95c0af9be2 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Tue, 21 Nov 2023 10:57:34 -0600 Subject: PWI Base (#1964) * Base work for public view * Make default moderation settings more restrictive * Fix type * Handle showing sign-in on authed actions * Fix hoc logic * Simplify prefs logic * Remove duplicate method * Add todo * Clean up RepostButton.web * Fix x button color * Add todo * Retain existing label prefs for now, use separate logged out settings * Clean up useAuthedMethod, rename to useRequireAuth * Add todos * Move dismiss logic to withAuthRequired * Ooops add web * Block public view in prod * Add todo * Fix bad import --- src/view/com/util/post-ctrls/RepostButton.web.tsx | 58 +++++++++++++++-------- 1 file changed, 38 insertions(+), 20 deletions(-) (limited to 'src/view/com/util/post-ctrls/RepostButton.web.tsx') diff --git a/src/view/com/util/post-ctrls/RepostButton.web.tsx b/src/view/com/util/post-ctrls/RepostButton.web.tsx index 6c5f816aa..329382132 100644 --- a/src/view/com/util/post-ctrls/RepostButton.web.tsx +++ b/src/view/com/util/post-ctrls/RepostButton.web.tsx @@ -1,5 +1,5 @@ import React from 'react' -import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native' +import {StyleProp, StyleSheet, View, ViewStyle, Pressable} from 'react-native' import {RepostIcon} from 'lib/icons' import {colors} from 'lib/styles' import {useTheme} from 'lib/ThemeContext' @@ -12,6 +12,8 @@ import { import {EventStopper} from '../EventStopper' import {useLingui} from '@lingui/react' import {msg} from '@lingui/macro' +import {useRequireAuth} from '#/state/session' +import {useSession} from '#/state/session' interface Props { isReposted: boolean @@ -31,6 +33,8 @@ export const RepostButton = ({ }: Props) => { const theme = useTheme() const {_} = useLingui() + const {hasSession} = useSession() + const requireAuth = useRequireAuth() const defaultControlColor = React.useMemo( () => ({ @@ -62,32 +66,46 @@ export const RepostButton = ({ }, ] - return ( + const inner = ( + , + ]}> + + {typeof repostCount !== 'undefined' ? ( + + {repostCount ?? 0} + + ) : undefined} + + ) + + return hasSession ? ( - , - ]}> - - {typeof repostCount !== 'undefined' ? ( - - {repostCount ?? 0} - - ) : undefined} - + {inner} + ) : ( + { + requireAuth(() => {}) + }} + accessibilityLabel={_(msg`Repost or quote post`)} + accessibilityHint=""> + {inner} + ) } -- cgit 1.4.1