// Modals.tsx - Modal components for the FriendshipNetwork import React from 'react'; import DatePicker from 'react-datepicker'; import { FaPlus, FaRegCalendarAlt, FaSave, FaStar, FaTrash, FaUserFriends, FaUserPlus, } from 'react-icons/fa'; import { Button, FormField, Modal } from '../components/FriendshipNetworkComponents'; import { PersonNode, RelationshipEdge, RelationshipType, FormErrors, NewPersonForm, NewRelationshipForm, } from '../types/types'; import { KeyboardShortcut, TipItem, ToggleSetting, OptionGroup, ErrorMessage, } from './UIComponents'; // ============================== // Person Form Modal // ============================== interface PersonFormModalProps { isOpen: boolean; onClose: () => void; formData: NewPersonForm; setFormData: React.Dispatch>; errors: FormErrors; onSubmit: (e: React.FormEvent) => void; isEdit?: boolean; } export const PersonFormModal: React.FC = ({ isOpen, onClose, formData, setFormData, errors, onSubmit, isEdit = false, }) => { return (
setFormData({ ...formData, firstName: e.target.value })} /> setFormData({ ...formData, lastName: e.target.value })} />
setFormData({ ...formData, birthday: date })} dateFormat="MMMM d, yyyy" placeholderText="Select birthday" className="w-full bg-slate-700 border border-slate-600 rounded-md p-2 focus:outline-none focus:ring-2 focus:ring-indigo-500 text-white" showYearDropdown dropdownMode="select" wrapperClassName="w-full" />