import React, { useEffect, useRef, useState } from "react";
import { useFab } from "../../Context/FabContext";
import { useNotes } from "../../hooks/useDirectory";
import NoteFilterPanel from "./NoteFilterPanel";
import { defaultNotesFilter } from "../../components/Directory/DirectorySchema";
import { ITEMS_PER_PAGE } from "../../utils/constants";
import { useDebounce } from "../../utils/appUtils";
import NoteCardDirectoryEditable from "../../components/Directory/NoteCardDirectoryEditable";
import Pagination from "../../components/common/Pagination";
import { NoteCardSkeleton } from "../../components/Directory/DirectoryPageSkeleton";
import NoteFilterChips from "../../components/Directory/NoteFilterChips";
const NotesPage = ({ projectId, searchText, onExport }) => {
const [filters, setFilter] = useState(defaultNotesFilter);
const [currentPage, setCurrentPage] = useState(1);
const debouncedSearch = useDebounce(searchText, 500);
const [filterData, setFilterdata] = useState(null);
const updatedRef = useRef();
const { data, isLoading, isError, error } = useNotes(
projectId,
ITEMS_PER_PAGE,
currentPage,
filters,
debouncedSearch
);
const { setOffcanvasContent, setShowTrigger } = useFab();
const clearFilter = () => {
setFilter(defaultNotesFilter);
};
useEffect(() => {
setShowTrigger(true);
setOffcanvasContent(
"Notes Filters",
{debouncedSearch ? `No notes found matching "${searchText}"` : Object.keys(filters).some((k) => filters[k]?.length) ? "No notes found for the applied filters." : "No notes available."}