From 5db56277c05c6c8a6357f0e463d893baabd80b03 Mon Sep 17 00:00:00 2001 From: Hailey Date: Wed, 31 Jan 2024 14:14:37 -0800 Subject: Onboarding moderation improvements (#2713) * create separate label group arrays * render adult and other label groups separately * animate in/out the additional settings * improve toggle logic * support animations on all platforms * remove debug * update notice, prevent running animations on mount * reorg imports --- .../Onboarding/StepModeration/ModerationOption.tsx | 49 +++++++++++----------- 1 file changed, 24 insertions(+), 25 deletions(-) (limited to 'src/screens/Onboarding/StepModeration/ModerationOption.tsx') diff --git a/src/screens/Onboarding/StepModeration/ModerationOption.tsx b/src/screens/Onboarding/StepModeration/ModerationOption.tsx index 904c47299..d216692d0 100644 --- a/src/screens/Onboarding/StepModeration/ModerationOption.tsx +++ b/src/screens/Onboarding/StepModeration/ModerationOption.tsx @@ -3,6 +3,7 @@ import {View} from 'react-native' import {LabelPreference} from '@atproto/api' import {useLingui} from '@lingui/react' import {msg} from '@lingui/macro' +import Animated, {Easing, Layout, FadeIn} from 'react-native-reanimated' import { CONFIGURABLE_LABEL_GROUPS, @@ -16,8 +17,10 @@ import * as ToggleButton from '#/components/forms/ToggleButton' export function ModerationOption({ labelGroup, + isMounted, }: { labelGroup: ConfigurableLabelGroup + isMounted: React.MutableRefObject }) { const {_} = useLingui() const t = useTheme() @@ -41,7 +44,7 @@ export function ModerationOption({ } return ( - + ]} + layout={Layout.easing(Easing.ease).duration(200)} + entering={isMounted.current ? FadeIn : undefined}> {groupInfo.title} @@ -57,29 +62,23 @@ export function ModerationOption({ - {!preferences?.adultContentEnabled && groupInfo.isAdultImagery ? ( - - {labels.hide} - - ) : ( - - - {labels.hide} - - - {labels.warn} - - - {labels.show} - - - )} + + + {labels.hide} + + + {labels.warn} + + + {labels.show} + + - + ) } -- cgit 1.4.1