Untitled
unknown
typescript
a year ago
1.5 kB
4
Indexable
Never
function ProfileHeader() { const { profileId, contentOffsetY, isLoading } = useProfileScreenContext(); const bannerStyle = useAnimatedStyle(() => ({ height: interpolate( contentOffsetY!.value, [0, 150], [150, 100], Extrapolate.CLAMP, ), opacity: interpolate( contentOffsetY!.value, [0, 150], [1, 0.5], Extrapolate.CLAMP, ), })); } const avatarStyle = useAnimatedStyle(() => ({ top: interpolate( contentOffsetY!.value, [0, 150], [107, 45], Extrapolation.CLAMP, ), height: interpolate( contentOffsetY!.value, [0, 150], [85, 45], Extrapolation.CLAMP, ), width: interpolate( contentOffsetY!.value, [0, 150], [85, 45], Extrapolation.CLAMP, ), left: interpolate( contentOffsetY!.value, [0, 150], [15, 60], Extrapolate.CLAMP, ), })); return ( // First image <Animated.Image source={{ uri: personBanner }} style={[{ width: '100%' }, bannerStyle]} resizeMode="cover" /> // Second image <Animated.Image source={{ uri: personAvatar }} style={[ { borderRadius: 100, borderColor: theme.bg.val, borderWidth: 2, }, avatarStyle, ]} /> ); }