import type { Table } from "@tanstack/react-table"; import { createContext, type ReactNode, useContext } from "react"; import type { PinnedFiltro, SearchFiltro, } from "~/components/custom_ui/dataTable-toolbar"; type DataTableContextType = { table: Table; searchColumn?: SearchFiltro; columns_titles: Record; pinnedFiltri?: PinnedFiltro[]; hasSelectRow?: boolean; }; // biome-ignore lint/suspicious/noExplicitAny: const DataTableContext = createContext | null>(null); export function DataTableProvider({ children, table, searchColumn, columns_titles, pinnedFiltri, hasSelectRow, }: { children: ReactNode; table: Table; searchColumn?: SearchFiltro; columns_titles: Record; pinnedFiltri?: PinnedFiltro[]; hasSelectRow?: boolean; }) { return ( {children} ); } export const useDataTable = () => { const value = useContext( DataTableContext, ) as DataTableContextType | null; if (!value) { throw new Error("useDataTable must be used within a DataTableProvider"); } return value; };