"use client"; import React, { useState, useEffect } from "react"; import { Paper, Typography, Box, TextField, Divider, Button, } from "@mui/material"; import { useSelector, useDispatch } from "react-redux"; import { AppDispatch, RootState } from "@/app/redux/store"; import { updateUserDetails } from "@/app/redux/auth/authSlice"; const SettingsPersonalInfo: React.FC = () => { const user = useSelector((state: RootState) => state.auth.user); const dispatch = useDispatch(); const [formData, setFormData] = useState({ first_name: "", last_name: "", username: "", email: "", }); // Initialize form fields from Redux user data useEffect(() => { if (user) { setFormData({ first_name: user.firstName ?? "", last_name: user.lastName ?? "", username: user.username ?? "", email: user.email ?? "", }); } }, [user]); // Generic change handler const handleChange = (field: keyof typeof formData) => (e: React.ChangeEvent) => { setFormData(prev => ({ ...prev, [field]: e.target.value })); }; const handleSave = async (e: React.FormEvent) => { e.preventDefault(); handleUpdateUserDetails(); }; const handleUpdateUserDetails = () => { dispatch(updateUserDetails({ id: user?.id ?? "", updates: formData })); }; return ( Personal Info ); }; export default SettingsPersonalInfo;