import React, {useState} from 'react' import {Pressable, StyleSheet, View} from 'react-native' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useOpenComposer} from '#/lib/hooks/useOpenComposer' import {sanitizeDisplayName} from '#/lib/strings/display-names' import {sanitizeHandle} from '#/lib/strings/handles' import {logger} from '#/logger' import {useCurrentAccountProfile} from '#/state/queries/useCurrentAccountProfile' import {UserAvatar} from '#/view/com/util/UserAvatar' import {atoms as a, native, useTheme, web} from '#/alf' import {SubtleHover} from '#/components/SubtleHover' import {Text} from '#/components/Typography' export function FeedComposerPrompt() { const {_} = useLingui() const t = useTheme() const {openComposer} = useOpenComposer() const profile = useCurrentAccountProfile() const [hover, setHover] = useState(false) const onPress = React.useCallback(() => { logger.metric('postComposer:click', {}) openComposer({}) }, [openComposer]) if (!profile) { return null } const displayName = sanitizeDisplayName( profile.displayName || sanitizeHandle(profile.handle), ) const handle = sanitizeHandle(profile.handle, '@') return ( setHover(true)} onPointerLeave={() => setHover(false)} style={({pressed}) => [ a.relative, a.flex_row, a.align_start, { paddingLeft: 18, paddingRight: 15, }, a.py_md, native({ paddingTop: 15, paddingBottom: 15, }), { borderTopWidth: StyleSheet.hairlineWidth, borderColor: t.atoms.border_contrast_low.borderColor, }, web({ cursor: 'pointer', outline: 'none', }), pressed && web({outline: 'none'}), ]}> {displayName} {handle} {_(msg`What's up?`)} ) }