import { useEffect, useState } from "react";

interface DefaultAddressRadioButtonProps {
  addressId: string;
  profileId: number;
  isDefault: boolean;
  updateDefaultAddress: (addressId: string, profileId: number) => Promise<void>;
}

const DefaultAddressRadioButton: React.FC<DefaultAddressRadioButtonProps> = ({
  addressId,
  profileId,
  isDefault,
  updateDefaultAddress,
}) => {
  const [isChecked, setIsChecked] = useState(isDefault);

  useEffect(() => {
    setIsChecked(isDefault);
  }, [isDefault]);

  const handleChange = () => {
    if (!isChecked) {
      updateDefaultAddress(addressId, profileId);
      setIsChecked(true);
    }
  };

  return (
    <div className="flex items-center justify-center">
      <input
        type="radio"
        checked={isChecked}
        onChange={handleChange}
        className="form-radio h-5 w-5 text-primary"
        title="Set as default"
      />
    </div>
  );
};

export default DefaultAddressRadioButton;
