This commit is contained in:
pradeepkumar
2026-01-25 01:15:02 +05:30
parent 911ae85e20
commit 4ffd6305b1
4 changed files with 198 additions and 90 deletions

View File

@@ -16,7 +16,7 @@ import {
} from '@/components/profile';
import { agentsService, AgentProfile, FieldValueResponse } from '@/services/agents.service';
import { getProxyImageUrl } from '@/lib/imageProxy';
import { mapFieldValuesToExperience, ExperienceData } from '@/utils/profileDataMapper';
import { mapFieldValuesToExperience, mapFieldValuesToSpecializationFields, ExperienceData, SpecializationFieldsData } from '@/utils/profileDataMapper';
// Mock data for sections not yet available from API
const mockData = {
@@ -26,13 +26,6 @@ const mockData = {
},
preferredWorkEnvironment: 'Preferred work environment includes on-site property visits, in-depth market research, client consultations, property tours, and active involvement in negotiations to ensure the best outcomes',
testimonialHighlight: "The most amazing experience I've had as a real estate professional is helping a family secure their dream home and seeing their happiness when they received the keys.",
specialization: {
types: ['Buyers', 'Sellers', 'First time Buyers', 'First time Sellers', 'Divorce'],
loanTypes: ['Conventional', 'FHA', 'VA', 'USDA'],
propertyTypes: ['SFR', 'Town home', 'Rural', 'Luxury', 'Condo'],
hobbies: ['Boating', 'Horses', 'RV', 'Automotive', 'Aviation'],
pricePoints: ['Under $100K', '$100K $300K', '$300K $500K', '$500K $1M', '$1M and above'],
},
testimonials: [
{
id: 1,
@@ -67,6 +60,11 @@ const defaultExperience: ExperienceData = {
certifications: [],
};
// Default specialization fields data when no field values are available
const defaultSpecializationFieldsData: SpecializationFieldsData = {
fields: [],
};
export default function AgentProfileView() {
const params = useParams();
const id = params.id as string;
@@ -74,6 +72,7 @@ export default function AgentProfileView() {
const [agentProfile, setAgentProfile] = useState<AgentProfile | null>(null);
const [fieldValues, setFieldValues] = useState<FieldValueResponse[]>([]);
const [experienceData, setExperienceData] = useState<ExperienceData>(defaultExperience);
const [specializationFieldsData, setSpecializationFieldsData] = useState<SpecializationFieldsData>(defaultSpecializationFieldsData);
const [loading, setLoading] = useState(true);
const [error, setError] = useState<string | null>(null);
const [imageError, setImageError] = useState(false);
@@ -101,6 +100,10 @@ export default function AgentProfileView() {
// Map field values to experience data structure
const mappedExperience = mapFieldValuesToExperience(fieldValuesResponse.fieldValues);
setExperienceData(mappedExperience);
// Map field values to specialization fields data (only fields from "Specialization" section)
const mappedSpecializationFields = mapFieldValuesToSpecializationFields(fieldValuesResponse.fieldValues);
setSpecializationFieldsData(mappedSpecializationFields);
} catch (err) {
console.error('Failed to fetch profile:', err);
setError('Failed to load profile data');
@@ -284,7 +287,7 @@ export default function AgentProfileView() {
</div>
{/* Specialization Section */}
<SpecializationSection specialization={mockData.specialization} />
<SpecializationSection fieldsData={specializationFieldsData} />
{/* Testimonials Section */}
<TestimonialsSection testimonials={mockData.testimonials} />