diff --git a/native/navigation/route-names.js b/native/navigation/route-names.js --- a/native/navigation/route-names.js +++ b/native/navigation/route-names.js @@ -25,7 +25,6 @@ import type { ImageModalParams } from '../media/image-modal.react.js'; import type { VideoPlaybackModalParams } from '../media/video-playback-modal.react.js'; import type { CustomServerModalParams } from '../profile/custom-server-modal.react.js'; -import type { EmojiAvatarCreationParams } from '../profile/emoji-avatar-creation.react.js'; import type { RelationshipListItemTooltipModalParams } from '../profile/relationship-list-item-tooltip-modal.react.js'; export const ActionResultModalRouteName = 'ActionResultModal'; @@ -140,7 +139,7 @@ export type ProfileParamList = { +ProfileScreen: void, - +EmojiAvatarCreation: EmojiAvatarCreationParams, + +EmojiAvatarCreation: void, +EditPassword: void, +DeleteAccount: void, +BuildInfo: void, diff --git a/native/profile/emoji-avatar-creation.react.js b/native/profile/emoji-avatar-creation.react.js --- a/native/profile/emoji-avatar-creation.react.js +++ b/native/profile/emoji-avatar-creation.react.js @@ -4,30 +4,24 @@ import { View, Text, TouchableWithoutFeedback } from 'react-native'; import EmojiPicker from 'rn-emoji-keyboard'; +import { savedEmojiAvatarSelectorForCurrentUser } from 'lib/selectors/user-selectors.js'; import type { ClientEmojiAvatar } from 'lib/types/avatar-types.js'; -import type { ProfileNavigationProp } from './profile.react.js'; import Avatar from '../components/avatar.react.js'; import Button from '../components/button.react.js'; import ColorRows from '../components/color-rows.react.js'; -import type { NavigationRoute } from '../navigation/route-names.js'; +import { useSelector } from '../redux/redux-utils.js'; import { useStyles } from '../themes/colors.js'; -export type EmojiAvatarCreationParams = { - +emojiAvatarInfo: ClientEmojiAvatar, -}; - -type Props = { - +navigation: ProfileNavigationProp<'EmojiAvatarCreation'>, - +route: NavigationRoute<'EmojiAvatarCreation'>, -}; +function EmojiAvatarCreation(): React.Node { + const savedEmojiAvatar = useSelector(savedEmojiAvatarSelectorForCurrentUser); -function EmojiAvatarCreation(props: Props): React.Node { - const { emoji: initalEmoji, color: initialColor } = - props.route.params.emojiAvatarInfo; - - const [pendingEmoji, setPendingEmoji] = React.useState(initalEmoji); - const [pendingColor, setPendingColor] = React.useState(initialColor); + const [pendingEmoji, setPendingEmoji] = React.useState( + savedEmojiAvatar.emoji, + ); + const [pendingColor, setPendingColor] = React.useState( + savedEmojiAvatar.color, + ); const [emojiKeyboardOpen, setEmojiKeyboardOpen] = React.useState(false); @@ -42,9 +36,9 @@ }, []); const onPressReset = React.useCallback(() => { - setPendingEmoji(initalEmoji); - setPendingColor(initialColor); - }, [initalEmoji, initialColor]); + setPendingEmoji(savedEmojiAvatar.emoji); + setPendingColor(savedEmojiAvatar.color); + }, [savedEmojiAvatar.color, savedEmojiAvatar.emoji]); const onEmojiSelected = React.useCallback(emoji => { setPendingEmoji(emoji.emoji);