diff --git a/app/(tabs)/beneficiaries/[id]/index.tsx b/app/(tabs)/beneficiaries/[id]/index.tsx index c19b9d0..6d3c21d 100644 --- a/app/(tabs)/beneficiaries/[id]/index.tsx +++ b/app/(tabs)/beneficiaries/[id]/index.tsx @@ -403,7 +403,7 @@ export default function BeneficiaryDetailScreen() { )} - {beneficiary.customName || beneficiary.name} + {beneficiary.displayName} } > - + )} diff --git a/contexts/BeneficiaryContext.tsx b/contexts/BeneficiaryContext.tsx index 74079c9..2bcd160 100644 --- a/contexts/BeneficiaryContext.tsx +++ b/contexts/BeneficiaryContext.tsx @@ -65,6 +65,7 @@ export function BeneficiaryProvider({ children }: { children: React.ReactNode }) const newBeneficiary: Beneficiary = { id: Date.now(), // Use timestamp as unique ID name: beneficiaryData.name.trim(), + displayName: beneficiaryData.name.trim(), // For UI display address: beneficiaryData.address?.trim(), avatar: beneficiaryData.avatar, status: 'offline', diff --git a/services/api.ts b/services/api.ts index e83de54..727a73a 100644 --- a/services/api.ts +++ b/services/api.ts @@ -536,6 +536,7 @@ class ApiService { { id: 1, name: 'Julia Smith', + displayName: 'Julia Smith', status: 'online', relationship: 'Mother', last_activity: '2 min ago', @@ -550,6 +551,7 @@ class ApiService { { id: 2, name: 'Robert Johnson', + displayName: 'Robert Johnson', status: 'offline', relationship: 'Father', last_activity: '1 hour ago', @@ -583,6 +585,7 @@ class ApiService { const beneficiary: Beneficiary = { id: deploymentId, name: data.name, + displayName: data.name, // For UI display avatar: getAvatarForBeneficiary(deploymentId), status: isRecent ? 'online' : 'offline', address: data.address, @@ -674,6 +677,7 @@ class ApiService { id: item.id, name: item.name || item.email, customName: item.customName || null, // User's custom name for this beneficiary + displayName: item.customName || item.name || item.email, // For UI display avatar: item.avatarUrl || undefined, // Use uploaded avatar from server status: 'offline' as const, email: item.email, @@ -727,6 +731,7 @@ class ApiService { id: data.id, name: data.name || data.email, customName: data.customName || null, // User's custom name for this beneficiary + displayName: data.customName || data.name || data.email, // For UI display avatar: data.avatarUrl || undefined, status: 'offline' as const, email: data.email, @@ -823,6 +828,7 @@ class ApiService { const beneficiary: Beneficiary = { id: result.beneficiary.id, name: result.beneficiary.name || '', + displayName: result.beneficiary.name || '', // For UI display status: 'offline' as const, }; diff --git a/types/index.ts b/types/index.ts index 98f8e9c..020da51 100644 --- a/types/index.ts +++ b/types/index.ts @@ -84,6 +84,7 @@ export interface Beneficiary { id: number; name: string; customName?: string | null; // User's custom display name (e.g., "Mom", "Dad") + displayName: string; // Computed: customName || name (for UI display) avatar?: string; device_id?: string; status: 'online' | 'offline';