// * Packages import { usePage } from "@inertiajs/react"; import { Row } from "@tanstack/react-table"; import { FileInputIcon } from "lucide-react"; // * Other import str from "@/hooks/use-string"; import DataTable from "@/back/Components/Table/DataTable"; import useTrans from "@/hooks/use-translations"; import DataTableFilterButton from "@/back/Components/Table/DataTableFilterButton"; import RenderTranslationCell from "@/back/Components/Table/RenderTranslationCell"; import { AppEnv, Resource } from "@/back/types/global"; import { TranslationField } from "@/back/types/i18n"; import { DocumentModel } from "@/back/types/others"; import { GetTranslation, Views } from "@/lib/utils"; interface Props { documents: Resource; } const getColumns = (appEnv: AppEnv) => { return [ { accessorKey: "name", header: ({ column }: { column: { id: string } }) => ( ), cell: ({ row }: { row: Row }) => ( ), }, { accessorKey: "path", header: ({ column }: { column: { id: string } }) => ( ), cell: ({ row }: { row: Row }) => { return (row.getValue("path") as TranslationField)[ appEnv.locale ] ? ( {`${appEnv.url}/${ (row.getValue("path") as TranslationField)[ appEnv.locale ] }`} ) : (

{GetTranslation("back.table_not_known")}

); }, }, ]; }; export default function AssociatedDocumentList(props: Props) { const { documents } = props; const { appEnv } = usePage().props as unknown as { appEnv: AppEnv; }; const documentColumns = getColumns(appEnv); return ( <>

{str( useTrans("back.associated_model", { params: { model: useTrans("models.classes.document", { choice: 2, }), }, choice: 2, }), ) .ucFirst() .value()}

); }