// @/components/pois/poiUpdateModal/utils/handlers.js
import { updatePoiThunk } from "@/redux/thunks/database/pois/updatePoiThunk";
import { deletePoiThunk } from "@/redux/thunks/database/pois/deletePoiThunk";

export const handleSubmit = async ({
  event,
  dispatch,
  poiId,
  description,
  poiTypeId,
  deviceName,
  poi,
  onClose,
}) => {
  event.preventDefault();
  const payload = {
    idPoi: poiId,
    name: description, // 💡 <- Das ist die entscheidende Änderung!
    description,
    idPoiTyp: poiTypeId?.value ?? poi?.idPoiTyp,
    idLD: deviceName?.value,
  };

  console.log("🔍 POI Update Payload:", payload);

  try {
    await dispatch(updatePoiThunk(payload)).unwrap();
    onClose();
    window.location.reload();
  } catch (error) {
    console.error("Fehler beim Aktualisieren des POI:", error);
    alert("Fehler beim Aktualisieren des POI.");
  }
};

export const handleDeletePoi = async ({ dispatch, poiId, onClose }) => {
  if (confirm("Sind Sie sicher, dass Sie diesen POI löschen möchten?")) {
    try {
      await dispatch(deletePoiThunk(poiId)).unwrap();
      onClose();
      window.location.reload();
    } catch (error) {
      console.error("Fehler beim Löschen des POI:", error);
      alert("Fehler beim Löschen des POI.");
    }
  }
};
