'use client'; import React, { useState } from "react"; import Link from "next/link"; import { EyeIcon, PencilIcon, PlusCircle, ArrowLeftFromLineIcon, ExpandIcon } from "lucide-react"; import { ContentProps } from "@/validations/mutual/dashboard/props"; import { getSchemaByLanguage } from "@/schemas/custom/building/parts/tenantSomething/schemas"; import TableComponent from "@/components/mutual/tableView/FullTableComp/component"; import CreateForm from "@/components/mutual/tableView/mutual/CreateForm"; import UpdateForm from "@/components/mutual/tableView/mutual/UpdateForm"; import ViewForm from "@/components/mutual/tableView/mutual/ViewForm"; import { API_BASE_URL } from "@/config/config"; // This is a mock page dont use it const aPage: React.FC = ({ lang, translations, activePageUrl, mode }) => { const [selectedRow, setSelectedRow] = useState(null); const getSchema = getSchemaByLanguage(lang) const isList = mode === 'shortList' || mode === 'fullList' const basePageUrl = `/${lang}/${activePageUrl}?mode=` const pageUrl = `${basePageUrl}shortList` const urls = { list: `${API_BASE_URL}/tst` } const initPaginationDefault = { page: 1, size: 10, orderFields: [], orderTypes: [], query: {} } const renderLastRowComponent = (reDirectUrl: string, IconToWrap: any, key: string) => { return } const RenderBackToList =
setSelectedRow(null)}>{renderLastRowComponent(pageUrl, ArrowLeftFromLineIcon, "backToList")}
const redirectUrls = { table: { update: renderLastRowComponent(`${basePageUrl}update`, PencilIcon, "update"), view: renderLastRowComponent(`${basePageUrl}view`, EyeIcon, "view"), }, page: { create: renderLastRowComponent(`${basePageUrl}create`, PlusCircle, "create"), size: , } } const listWithTableProps = { urls: urls, translations: translations, redirectUrls: redirectUrls, initPagination: initPaginationDefault, setSelectedRow: setSelectedRow, } const CreateFormProps = { schemas: { create: getSchema.createSchema }, labels: getSchema.labels, selectedRow: selectedRow, } const UpdateFormProps = { rollbackTo: pageUrl, schemas: { update: getSchema.updateSchema }, labels: getSchema.labels, selectedRow: selectedRow, } const ViewFormProps = { rollbackTo: pageUrl, schemas: { view: getSchema.detailSchema }, selectedRow: selectedRow, labels: getSchema.labels, } const shortAddProps = { ...listWithTableProps, schemas: { table: getSchema.shortSchema }, columns: { table: getSchema.shortColumns } } const fullAddProps = { ...listWithTableProps, schemas: { table: getSchema.detailSchema }, columns: { table: getSchema.columns } } return (
{/* {JSON.stringify(getSchema)} */} {!isList && RenderBackToList} {isList && mode === 'shortList' && <>} {isList && mode === 'fullList' && <>} {mode === 'create' && } {mode === 'update' && } {mode === 'view' && }
); } export default aPage