Make profile picture mandatory and show partner avatar

This commit is contained in:
jjbrunton committed 2026-01-25 10:21:06 +00:00
1 parent 69ac0940d3
commit 6c2e471d47
3 files changed
+25 -3

No files matched your search

+6 -2
View File
@@ -86,6 +86,10 @@ export default function OnboardingScreen() {
}, []);
const handleAvatarContinue = () => {
if (!avatarUri) {
setError('Please add a profile photo to continue');
return;
}
setStage('name');
Events.onboardingStageComplete('avatar');
};
@@ -269,7 +273,7 @@ export default function OnboardingScreen() {
<View style={styles.footer}>
<GlassButton onPress={handleAvatarContinue} fullWidth size="lg">
{avatarUri ? 'Continue' : 'Skip for Now'}
Continue
</GlassButton>
</View>
</Animated.View>
@@ -296,7 +300,7 @@ export default function OnboardingScreen() {
)}
<Text style={styles.title}>What can we call you?</Text>
<Text style={styles.subtitle}>
This is how your partner will see you
Nicknames and pet names are welcome too!
</Text>
</View>
@@ -1,6 +1,7 @@
import React from 'react';
import { StyleSheet, View, Text, TouchableOpacity } from 'react-native';
import { Ionicons } from '@expo/vector-icons';
import { Image } from 'expo-image';
import { router } from 'expo-router';
import Animated, { FadeInDown } from 'react-native-reanimated';
import { colors, spacing, typography, radius } from '../../theme';
@@ -30,7 +31,17 @@ export function CompactHeader({ user, partner, couple }: CompactHeaderProps) {
{/* Partner badge */}
{partner ? (
<View style={styles.partnerBadge}>
{partner.avatar_url ? (
<Image
source={{ uri: partner.avatar_url }}
style={styles.partnerAvatar}
cachePolicy="disk"
contentFit="cover"
transition={200}
/>
) : (
<Ionicons name="heart" size={12} color={colors.primary} />
)}
<Text style={styles.partnerText} numberOfLines={1}>
{partner.name || partner.email?.split('@')[0] || 'Partner'}
</Text>
@@ -97,6 +108,13 @@ const styles = StyleSheet.create({
color: colors.text,
fontWeight: '500',
},
partnerAvatar: {
width: 16,
height: 16,
borderRadius: 8,
borderWidth: 1,
borderColor: 'rgba(233, 69, 96, 0.3)',
},
pairBadge: {
flexDirection: 'row',
alignItems: 'center',
@@ -24,7 +24,7 @@ export function ContentRow({
packs,
isPremiumUser,
delay = 0,
showSeeAll = true,
showSeeAll = false,
categoryId,
getPackProgress,
onShowPaywall,