"use client";

import { useQuery } from "@tanstack/react-query";
import axios from "axios";
import { FC, useId } from "react";
import ExpenseForm from "./expense-form";

type props = {
  expenseId: string | null;
  isOpen: boolean;
  setOpen: () => void;
};
const ExpenseEdit: FC<props> = ({ expenseId, setOpen, isOpen }) => {
  const random_id = useId();
  const getExpense = async () => {
    const { data } = await axios.get(`/api/expenses/${expenseId}`);
    return data?.data;
  };
  const { data: expense } = useQuery({
    queryKey: [random_id],
    queryFn: () => getExpense(),
    retry: 0,
  });
  return (
    <>
      {expense && (
        <ExpenseForm
          expense={expense}
          mode="edit"
          isOpen={isOpen}
          setOpen={setOpen}
        />
      )}
    </>
  );
};

export default ExpenseEdit;
