import {View, type ViewStyle} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {type Gate} from '#/lib/statsig/gates' import {useGate} from '#/lib/statsig/statsig' import {isWeb} from '#/platform/detection' import {useSession} from '#/state/session' import {useLoggedOutViewControls} from '#/state/shell/logged-out' import {Logo} from '#/view/icons/Logo' import {atoms as a, useTheme} from '#/alf' import {Button, ButtonText} from '#/components/Button' import {Text} from '#/components/Typography' interface LoggedOutCTAProps { style?: ViewStyle gateName: Gate } export function LoggedOutCTA({style, gateName}: LoggedOutCTAProps) { const {hasSession} = useSession() const {requestSwitchToAccount} = useLoggedOutViewControls() const gate = useGate() const t = useTheme() const {_} = useLingui() // Only show for logged-out users on web if (hasSession || !isWeb) { return null } // Check gate at the last possible moment to avoid counting users as exposed when they won't see the element if (!gate(gateName)) { return null } return ( Join Bluesky The open social network. ) }