import { createSlice } from "@reduxjs/toolkit"; const registrationformSlice = createSlice({ name: "registerform", initialState: { personalDetails: { name: "", mobileNumber: "", gender: "", dob: "", height: "", weight: "", maritalStatus: "", religion: "", profileFor: "", caste: "", subCaste: "", gothram: "", raasi: "", star: "", bloodGroup: "", email: "", password: "", confirmPassword: "", state: "", city: "", pincode: "", profiles: [], }, educationalDetails: { qualification: "", fieldOfStudy: "", occupation: "", organization: "", income: "", workLocation: "", }, familyDetails: { fatherName: "", fatherOccupation: "", motherName: "", motherOccupation: "", siblings: "", siblingsStatus: "", }, lifestyleDetails: { diet: "", // drinking: "", // smoking: "", hobbies: "", }, partnerPreferences: { ageRange: "", religionCaste: "", occupationPref: "", lifestylePref: "", qualificationPref: "", occupationText: "", incomePref: "", locationPref: "", }, }, reducers: { updatePersonalDetails: (state, action) => { state.personalDetails = { ...state.personalDetails, ...action.payload }; }, updateEducationalDetails: (state, action) => { state.educationalDetails = { ...state.educationalDetails, ...action.payload }; }, updateFamilyDetails: (state, action) => { state.familyDetails = { ...state.familyDetails, ...action.payload }; }, updateLifestyleDetails: (state, action) => { state.lifestyleDetails = { ...state.lifestyleDetails, ...action.payload }; }, updatePartnerPreferences: (state, action) => { state.partnerPreferences = { ...state.partnerPreferences, ...action.payload }; }, submitForm: (state) => { console.log("Form Submitted:", { personalDetails: state.personalDetails, educationalDetails: state.educationalDetails, familyDetails: state.familyDetails, lifestyleDetails: state.lifestyleDetails, partnerPreferences: state.partnerPreferences, }); }, preloadDummyProfile: (state) => { state.personalDetails = { ...state.personalDetails, name: "John Doe", mobileNumber: "9876543210", gender: "Male", dob: "1995-05-01", height: "175", weight: "70", maritalStatus: "Single", religion: "Hindu", caste: "Brahmin", email: "john@example.com", state: "Tamil Nadu", city: "Chennai", pincode: "600001", profiles: [ { id: 1, name: "profile1.jpg", url: "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=200&h=200&fit=crop&crop=face", preview: "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=200&h=200&fit=crop&crop=face", size: 245760, }, { id: 2, name: "profile2.jpg", url: "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=200&h=200&fit=crop&crop=face", preview: "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=200&h=200&fit=crop&crop=face", size: 189440, }, { id: 3, name: "profile3.jpg", url: "https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=200&h=200&fit=crop&crop=face", preview: "https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=200&h=200&fit=crop&crop=face", size: 312640, }, { id: 4, name: "profile4.jpg", url: "https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=200&h=200&fit=crop&crop=face", preview: "https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=200&h=200&fit=crop&crop=face", size: 267392, }, { id: 5, name: "profile5.jpg", url: "https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?w=200&h=200&fit=crop&crop=face", preview: "https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?w=200&h=200&fit=crop&crop=face", size: 198656, }, ], }; state.educationalDetails = { ...state.educationalDetails, qualification: "B.E", fieldOfStudy: "CSE", occupation: "Software Engineer", organization: "ABC Pvt Ltd", income: "10 LPA", workLocation: "Chennai", }; state.familyDetails = { ...state.familyDetails, fatherName: "Father Name", fatherOccupation: "Business", motherName: "Mother Name", motherOccupation: "Homemaker", siblings: "1", siblingsStatus: "Married", }; state.lifestyleDetails = { ...state.lifestyleDetails, diet: "Veg", // drinking: "No", // smoking: "No", hobbies: "Reading, Music", }; state.partnerPreferences = { ...state.partnerPreferences, ageRange: "24-30", religionCaste: "Hindu / Brahmin", occupationPref: "IT / Software", lifestylePref: "Non-smoker, Non-drinker", qualificationPref: "Degree", occupationText: "IT, Banking", incomePref: "10-20 LPA", locationPref: "Chennai, Bengaluru", }; }, }, }); export const { updatePersonalDetails, updateEducationalDetails, updateFamilyDetails, updateLifestyleDetails, updatePartnerPreferences, submitForm, preloadDummyProfile, } = registrationformSlice.actions; export default registrationformSlice.reducer;