mirror of
https://github.com/jjbrunton/Sauci.git
synced 2026-10-31 18:19:43 +00:00
Make profile picture mandatory and show partner avatar
This commit is contained in:
1 parent
69ac0940d3
commit
6c2e471d47
3 files changed
+26
-4
No files matched your search
@@ -86,6 +86,10 @@ export default function OnboardingScreen() {
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const handleAvatarContinue = () => {
|
const handleAvatarContinue = () => {
|
||||||
|
if (!avatarUri) {
|
||||||
|
setError('Please add a profile photo to continue');
|
||||||
|
return;
|
||||||
|
}
|
||||||
setStage('name');
|
setStage('name');
|
||||||
Events.onboardingStageComplete('avatar');
|
Events.onboardingStageComplete('avatar');
|
||||||
};
|
};
|
||||||
@@ -269,7 +273,7 @@ export default function OnboardingScreen() {
|
|||||||
|
|
||||||
<View style={styles.footer}>
|
<View style={styles.footer}>
|
||||||
<GlassButton onPress={handleAvatarContinue} fullWidth size="lg">
|
<GlassButton onPress={handleAvatarContinue} fullWidth size="lg">
|
||||||
{avatarUri ? 'Continue' : 'Skip for Now'}
|
Continue
|
||||||
</GlassButton>
|
</GlassButton>
|
||||||
</View>
|
</View>
|
||||||
</Animated.View>
|
</Animated.View>
|
||||||
@@ -296,7 +300,7 @@ export default function OnboardingScreen() {
|
|||||||
)}
|
)}
|
||||||
<Text style={styles.title}>What can we call you?</Text>
|
<Text style={styles.title}>What can we call you?</Text>
|
||||||
<Text style={styles.subtitle}>
|
<Text style={styles.subtitle}>
|
||||||
This is how your partner will see you
|
Nicknames and pet names are welcome too!
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { StyleSheet, View, Text, TouchableOpacity } from 'react-native';
|
import { StyleSheet, View, Text, TouchableOpacity } from 'react-native';
|
||||||
import { Ionicons } from '@expo/vector-icons';
|
import { Ionicons } from '@expo/vector-icons';
|
||||||
|
import { Image } from 'expo-image';
|
||||||
import { router } from 'expo-router';
|
import { router } from 'expo-router';
|
||||||
import Animated, { FadeInDown } from 'react-native-reanimated';
|
import Animated, { FadeInDown } from 'react-native-reanimated';
|
||||||
import { colors, spacing, typography, radius } from '../../theme';
|
import { colors, spacing, typography, radius } from '../../theme';
|
||||||
@@ -30,7 +31,17 @@ export function CompactHeader({ user, partner, couple }: CompactHeaderProps) {
|
|||||||
{/* Partner badge */}
|
{/* Partner badge */}
|
||||||
{partner ? (
|
{partner ? (
|
||||||
<View style={styles.partnerBadge}>
|
<View style={styles.partnerBadge}>
|
||||||
<Ionicons name="heart" size={12} color={colors.primary} />
|
{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}>
|
<Text style={styles.partnerText} numberOfLines={1}>
|
||||||
{partner.name || partner.email?.split('@')[0] || 'Partner'}
|
{partner.name || partner.email?.split('@')[0] || 'Partner'}
|
||||||
</Text>
|
</Text>
|
||||||
@@ -97,6 +108,13 @@ const styles = StyleSheet.create({
|
|||||||
color: colors.text,
|
color: colors.text,
|
||||||
fontWeight: '500',
|
fontWeight: '500',
|
||||||
},
|
},
|
||||||
|
partnerAvatar: {
|
||||||
|
width: 16,
|
||||||
|
height: 16,
|
||||||
|
borderRadius: 8,
|
||||||
|
borderWidth: 1,
|
||||||
|
borderColor: 'rgba(233, 69, 96, 0.3)',
|
||||||
|
},
|
||||||
pairBadge: {
|
pairBadge: {
|
||||||
flexDirection: 'row',
|
flexDirection: 'row',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ export function ContentRow({
|
|||||||
packs,
|
packs,
|
||||||
isPremiumUser,
|
isPremiumUser,
|
||||||
delay = 0,
|
delay = 0,
|
||||||
showSeeAll = true,
|
showSeeAll = false,
|
||||||
categoryId,
|
categoryId,
|
||||||
getPackProgress,
|
getPackProgress,
|
||||||
onShowPaywall,
|
onShowPaywall,
|
||||||
|
|||||||
Reference in new issue
Block a user