import { updateNotificationAPI, useNotification } from "@/api";
import { LoadingData } from "@/components/common";
import { BasePage, Header } from "@/components/layout";
import { NotificationForm } from "@/components/notifications";
import { HandleError } from "@/pages/others";
import { CAPABILITY } from "@/utils/consts";
import { __ } from "@wordpress/i18n";
import { useParams } from "react-router";

export const UpdateNotification = () => {
  const params = useParams();
  const { data, error, isLoading } = useNotification(params.id);

  if (error) return <HandleError error={error} />;
  if (isLoading) return <LoadingData />;

  return (
    <BasePage capability={CAPABILITY.WRITE}>
      <Header
        title={
          /* translators: %s is notification name */
          sprintf(__("Edit %s", "yoyaku-manager"), data.name)
        }
      />
      <NotificationForm
        defaultValues={data}
        dataHandler={updateNotificationAPI}
      />
    </BasePage>
  );
};
