import {useCallback, useMemo} from 'react' import {View} from 'react-native' import {Image} from 'expo-image' import {LinearGradient} from 'expo-linear-gradient' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {isWeb} from '#/platform/detection' import {atoms as a, select, useTheme, utils, web} from '#/alf' import {Button, ButtonText} from '#/components/Button' import * as Dialog from '#/components/Dialog' import {useNuxDialogContext} from '#/components/dialogs/nuxs' import { createIsEnabledCheck, isExistingUserAsOf, } from '#/components/dialogs/nuxs/utils' import {Beaker_Stroke2_Corner2_Rounded as BeakerIcon} from '#/components/icons/Beaker' import {Text} from '#/components/Typography' import {IS_E2E} from '#/env' export const enabled = createIsEnabledCheck(props => { return ( !IS_E2E && isExistingUserAsOf( '2026-01-16T00:00:00.000Z', props.currentProfile.createdAt, ) && props.gate('live_now_beta') ) }) export function LiveNowBetaDialog() { const t = useTheme() const {_} = useLingui() const nuxDialogs = useNuxDialogContext() const control = Dialog.useDialogControl() Dialog.useAutoOpen(control) const onClose = useCallback(() => { nuxDialogs.dismissActiveNux() }, [nuxDialogs]) const shadowColor = useMemo(() => { return select(t.name, { light: utils.alpha(t.palette.primary_900, 0.4), dark: utils.alpha(t.palette.primary_25, 0.4), dim: utils.alpha(t.palette.primary_25, 0.4), }) }, [t]) return ( Beta Feature {_( Show when you’re live Streaming on Twitch? Set your live status on Bluesky to add a badge to your avatar. Tapping it takes people straight to your stream. {!isWeb && ( )} ) }