'use client';

import { useEffect, useState } from "react";
import { RGPDRequest } from "../config/rgpd.types";
import { getRGPDRequestById } from "../../api/rgpd";

export function useRGPDDetails(id?: string) {
  const [request, setRequest] = useState<RGPDRequest | null>(null);

  const [loading, setLoading] = useState(false);

  const [error, setError] = useState<string | null>(null);

  useEffect(() => {
    if (!id) return;

    const load = async () => {
      try {
        setLoading(true);

        const data = await getRGPDRequestById(Number(id));

        setRequest(data);

      } catch (err: any) {
        setError(err.message);
      } finally {
        setLoading(false);
      }
    };
    load();
  }, [id]);

  return {
    request,
    setRequest,
    loading,
    error
  };
}