Fix: Prevent phone field conflicts by removing direct pre-population and prioritizing dynamic field slugs during agent profile updates.
This commit is contained in:
@@ -63,7 +63,9 @@ export default function EditProfilePage() {
|
||||
if (profile.firstName) initialData['first-name'] = profile.firstName;
|
||||
if (profile.lastName) initialData['last-name'] = profile.lastName;
|
||||
if (profile.email) initialData['email'] = profile.email;
|
||||
if (profile.phone) initialData['phone'] = profile.phone;
|
||||
// Note: phone is populated from dynamic field values (slug: phone_number)
|
||||
// Don't pre-populate 'phone' here as it creates a stale shadow entry
|
||||
// that conflicts with the dynamic field during save
|
||||
if (profile.bio) initialData['bio'] = profile.bio;
|
||||
if (profile.licenseNumber) initialData['license-number'] = profile.licenseNumber;
|
||||
if (profile.experience) initialData['experience'] = profile.experience;
|
||||
@@ -277,9 +279,10 @@ export default function EditProfilePage() {
|
||||
// it gets the correct (possibly empty) value
|
||||
const profileUpdates: Partial<{ phone: string | null; email: string | null }> = {};
|
||||
|
||||
// Sync phone field - check multiple possible field slugs
|
||||
// The dynamic fields might use different slugs for phone
|
||||
const phoneFieldSlugs = ['phone', 'phone_number', 'cell_number', 'office_number'];
|
||||
// Sync phone field - check dynamic field slugs FIRST, then legacy 'phone'
|
||||
// Dynamic fields (phone_number, etc.) are the source of truth from the form
|
||||
// 'phone' is a legacy pre-populated key and should only be used as fallback
|
||||
const phoneFieldSlugs = ['phone_number', 'cell_number', 'office_number', 'phone'];
|
||||
for (const slug of phoneFieldSlugs) {
|
||||
const phoneValue = formData[slug];
|
||||
if (phoneValue !== undefined) {
|
||||
|
||||
Reference in New Issue
Block a user