// ViewDocument.jsx
import React, { useState } from "react";
import {
  useDocumentDetails,
  useDocumentVersionList,
  useVerifyDocument,
} from "../../hooks/useDocument";
import { getDocuementsStatus, useDocumentContext } from "./Documents";
import { formatUTCToLocalTime } from "../../utils/dateUtils";
import Avatar from "../common/Avatar";
import {
  DOWNLOAD_DOCUMENT,
  ITEMS_PER_PAGE,
  VERIFY_DOCUMENT,
} from "../../utils/constants";
import DocumentDetailsSkeleton from "./DocumentDetailsSkeleton ";
import { useHasUserPermission } from "../../hooks/useHasUserPermission";
import DocumentVersionList from "./DocumentVersionList";
const ViewDocument = () => {
  const { viewDoc, setOpenDocument } = useDocumentContext();
  const [currentPage, setCurrentPage] = useState(1);
  const [showVersions, setShowVersions] = useState(false);
  const canVerifyDocument = useHasUserPermission(VERIFY_DOCUMENT);
  // Document Details
  const { data, isLoading, isError, error } = useDocumentDetails(
    viewDoc?.document
  );
  // Document Versions (fetch only if toggle is ON)
  const {
    data: versionList,
    isLoading: versionLoading,
  } = useDocumentVersionList(
    showVersions ? data?.parentAttachmentId : null,
    ITEMS_PER_PAGE - 10,
    currentPage
  );
  const paginate = (page) => {
    if (page >= 1 && page <= (versionList?.totalPages ?? 1)) {
      setCurrentPage(page);
    }
  };
  // Verify / Reject
  const { mutate: VerifyDoc, isPending } = useVerifyDocument();
  const VerifyDocument = () => {
    VerifyDoc({ documentId: viewDoc?.document, isVerify: true });
  };
  const RejectDocument = () => {
    VerifyDoc({ documentId: viewDoc?.document, isVerify: false });
  };
  if (isLoading) return 
{error?.response?.data?.message || error?.message}
{error?.response?.status}
Document Details
{/* Document Info Rows */}Documents: