202 lines
5.8 KiB
JavaScript
202 lines
5.8 KiB
JavaScript
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;
|