import React from 'react' import {View} from 'react-native' import {msg, Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {type Avatar} from '#/screens/Onboarding/StepProfile/index' import { type AvatarColor, avatarColors, emojiItems, type EmojiName, emojiNames, } from '#/screens/Onboarding/StepProfile/types' import {atoms as a, useTheme} from '#/alf' import {Button, ButtonIcon} from '#/components/Button' import {Text} from '#/components/Typography' const ACTIVE_BORDER_WIDTH = 3 const ACTIVE_BORDER_STYLES = { top: -ACTIVE_BORDER_WIDTH, bottom: -ACTIVE_BORDER_WIDTH, left: -ACTIVE_BORDER_WIDTH, right: -ACTIVE_BORDER_WIDTH, opacity: 0.5, borderWidth: 3, } export function AvatarCreatorItems({ type, avatar, setAvatar, }: { type: 'emojis' | 'colors' avatar: Avatar setAvatar: React.Dispatch> }) { const {_} = useLingui() const t = useTheme() const isEmojis = type === 'emojis' const onSelectEmoji = React.useCallback( (emoji: EmojiName) => { setAvatar(prev => ({ ...prev, placeholder: emojiItems[emoji], })) }, [setAvatar], ) const onSelectColor = React.useCallback( (color: AvatarColor) => { setAvatar(prev => ({ ...prev, backgroundColor: color, })) }, [setAvatar], ) return ( {isEmojis ? ( Select an emoji ) : ( Select a color )} {isEmojis ? emojiNames.map(emojiName => ( )) : avatarColors.map(color => ( ))} ) }