updated docs

This commit is contained in:
2025-05-13 18:45:23 +03:00
parent 6dfa17c5e6
commit 3627412fe9
247 changed files with 30258 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
import { ContentProps } from "@/validations/mutual/dashboard/props";
import superUserTenantSomething from "./management/account/tenantSomething/page";
import superUserTenantSomethingSecond from "./management/account/tenantSomethingSecond/page";
import superUserBuildingPartsTenantSomething from "./building/parts/tenantSomething/page";
const pageIndexMulti: Record<string, Record<string, React.FC<ContentProps>>> = {
"management/account/tenant/something": {
superUserTenantSomething: superUserTenantSomething,
},
"management/account/tenant/somethingSecond": {
superUserTenantSomething: superUserTenantSomethingSecond,
},
"building/parts/tenant/something": {
superUserTenantSomething: superUserBuildingPartsTenantSomething,
},
};
export default pageIndexMulti;

View File

@@ -0,0 +1,85 @@
'use client';
import React, { useState } from "react";
import TableComponent from "@/components/mutual/tableView/FullTableComp/component";
import { ContentProps } from "@/validations/mutual/dashboard/props";
import { EyeIcon, PencilIcon, PlusCircle, ArrowLeftFromLineIcon } from "lucide-react";
import Link from "next/link";
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 { useRouter } from "next/navigation";
// This is a mock page dont use it
const superUserTenantSomething: React.FC<ContentProps> = ({ lang, translations, activePageUrl, mode }) => {
const router = useRouter()
const [selectedRow, setSelectedRow] = useState<any>(null);
const pageUrl = `/${lang}/${activePageUrl}?mode=list`
const urls = { list: "http://localhost:3000/api/tst" }
const initPaginationDefault = { page: 1, size: 10, orderFields: [], orderTypes: [], query: {} }
const renderLastRowComponent = (reDirectUrl: string, IconToWrap: any) => {
return (<Link className="flex items-center gap-2" replace href={reDirectUrl} ><IconToWrap /></Link>)
}
const redirectUrls = {
table: {
update: renderLastRowComponent(`/${lang}/${activePageUrl}?mode=update`, PencilIcon),
view: renderLastRowComponent(`/${lang}/${activePageUrl}?mode=view`, EyeIcon),
},
page: {
create: renderLastRowComponent(`/${lang}/${activePageUrl}?mode=create`, PlusCircle),
}
}
const schemas = { list: {} }
const columns = [
"firstName",
"lastName",
"email",
"phoneNumber",
"country",
"description",
"isDeleted",
"isConfirmed",
"createdAt",
"updatedAt",
]
const ListWithTableProps = {
urls: {
list: "http://localhost:3000/api/tst",
},
schemas: schemas,
translations: translations,
columns: columns,
redirectUrls: redirectUrls,
initPagination: initPaginationDefault,
setSelectedRow: setSelectedRow,
}
const CreateFormProps = {
schemas: schemas,
selectedRow: selectedRow,
}
const UpdateFormProps = {
rollbackTo: pageUrl,
schemas: schemas,
selectedRow: selectedRow,
}
const ViewFormProps = {
rollbackTo: pageUrl,
schemas: schemas,
selectedRow: selectedRow,
}
const RenderBackToList = <div onClick={() => setSelectedRow(null)}>
{renderLastRowComponent(pageUrl, ArrowLeftFromLineIcon)}
</div>
return (
<>
{JSON.stringify(translations)}
{mode !== 'list' ? RenderBackToList : <TableComponent {...ListWithTableProps} />}
{mode === 'create' && <CreateForm {...CreateFormProps} />}
{mode === 'update' && <UpdateForm {...UpdateFormProps} />}
{mode === 'view' && <ViewForm {...ViewFormProps} />}
</>
);
}
export default superUserTenantSomething

View File

@@ -0,0 +1,46 @@
import FullCardTableComp from "@/components/mutual/tableView/FullCardTableComp/component";
import { ContentProps } from "@/validations/mutual/dashboard/props";
// This is a mock page dont use it
const superUserTenantSomethingSecond: React.FC<ContentProps> = ({ lang, translations, activePageUrl }) => {
const urls = {
list: "http://localhost:3000/api/tst",
}
const tableTranslations = {
firstName: "First Name",
lastName: "Last Name",
email: "Email",
phoneNumber: "Phone Number",
country: "Country",
description: "Description",
isDeleted: "Is Deleted",
isConfirmed: "Is Confirmed",
createdAt: "Created At",
updatedAt: "Updated At",
}
const columns = [
"firstName",
"lastName",
"email",
"phoneNumber",
"country",
"description",
"isDeleted",
"isConfirmed",
"createdAt",
"updatedAt",
]
const redirectUrls = {}
const schemas = {}
const initPaginationDefault = { page: 1, size: 10, orderFields: [], orderTypes: [], query: {} }
return (
<>
{JSON.stringify(translations)}
<FullCardTableComp urls={urls} translations={tableTranslations} columns={columns}
initPagination={initPaginationDefault} schemas={schemas} redirectUrls={redirectUrls} />
</>
);
}
export default superUserTenantSomethingSecond

View File

@@ -0,0 +1,5 @@
const ContentToRenderNoPage = ({ lang }: { lang: string }) => {
return <><h1 className="text-4xl font-bold">No Page</h1></>
}
export default ContentToRenderNoPage;

View File

@@ -0,0 +1,43 @@
import { ContentProps } from "@/validations/mutual/dashboard/props";
const MockPage: React.FC<ContentProps> = ({ lang, translations, activePageUrl }) => {
return <>
<h1 className="text-4xl font-bold mb-10">{JSON.stringify(translations)}{" "}{lang}{" "}{activePageUrl}</h1>
<div className="h-16">Some Content 1</div>
<div className="h-16">Some Content 2</div>
<div className="h-16">Some Content 3</div>
<div className="h-16">Some Content 4</div>
<div className="h-16">Some Content 5</div>
<div className="h-16">Some Content 6</div>
<div className="h-16">Some Content 7</div>
<div className="h-16">Some Content 8</div>
<div className="h-16">Some Content 9</div>
<div className="h-16">Some Content 10</div>
<div className="h-16">Some Content 11</div>
<div className="h-16">Some Content 12</div>
<div className="h-16">Some Content 13</div>
<div className="h-16">Some Content 14</div>
<div className="h-16">Some Content 15</div>
<div className="h-16">Some Content 16</div>
</>
}
const pageIndexMulti: Record<string, Record<string, React.FC<ContentProps>>> = {
"management/account/tenant/something": {
superUserTenantSomething: MockPage
},
"management/account/tenant/somethingSecond": {
superUserTenantSomething: MockPage
},
"building/parts/tenant/something": {
superUserTenantSomething: MockPage
}
}
const pageIndexSingle: Record<string, React.FC<ContentProps>> = {
"management/account/tenant/something": MockPage,
"management/account/tenant/somethingSecond": MockPage,
"building/parts/tenant/something": MockPage
}
export { pageIndexMulti, pageIndexSingle };

View File

@@ -0,0 +1,29 @@
import React from "react";
import { ResolverProps } from "@/validations/mutual/resolvers/validations";
import { retrievePageToRender } from "@/hooks/application/hook";
import { ContentProps } from "@/validations/mutual/dashboard/props";
import pageIndexMulti from "@/pages/multi/index";
import pageIndexSingle from "@/pages/single/index";
function resolveWhichPageToRenderSingle({
activePageUrl,
}: ResolverProps): React.FC<ContentProps> {
const ApplicationToRender = pageIndexSingle[activePageUrl]
return ApplicationToRender
}
async function resolveWhichPageToRenderMulti({
activePageUrl,
}: ResolverProps): Promise<React.FC<ContentProps> | null> {
const pageToRender = await retrievePageToRender(activePageUrl) // TODO: Retrieve page to render
try {
const ApplicationToRender = pageIndexMulti[activePageUrl][pageToRender]
return ApplicationToRender
} catch (error) {
console.error(error)
}
return null
}
export { resolveWhichPageToRenderSingle, resolveWhichPageToRenderMulti };

View File

@@ -0,0 +1,12 @@
import { ContentProps } from "@/validations/mutual/dashboard/props";
import superUserTenantSomething from "./management/account/tenantSomething/page";
import superUserTenantSomethingSecond from "./management/account/tenantSomethingSecond/page";
import superUserBuildingPartsTenantSomething from "./building/parts/tenantSomething/page";
const pageIndexSingle: Record<string, React.FC<ContentProps>> = {
"management/account/tenant/something": superUserTenantSomething,
"management/account/tenant/somethingSecond": superUserTenantSomethingSecond,
"building/parts/tenant/something": superUserBuildingPartsTenantSomething,
};
export default pageIndexSingle;

View File

@@ -0,0 +1,27 @@
import { ContentProps } from "@/validations/mutual/dashboard/props";
// This is a mock page dont use it
const superUserTenantSomething: React.FC<ContentProps> = ({ lang, translations, activePageUrl }) => {
return <>
<h1 className="text-4xl font-bold mb-10">{JSON.stringify(translations)}{" "}{lang}{" "}{activePageUrl}</h1>
<div className="h-16">Some Content 1</div>
<div className="h-16">Some Content 2</div>
<div className="h-16">Some Content 3</div>
<div className="h-16">Some Content 4</div>
<div className="h-16">Some Content 5</div>
<div className="h-16">Some Content 6</div>
<div className="h-16">Some Content 7</div>
<div className="h-16">Some Content 8</div>
<div className="h-16">Some Content 9</div>
<div className="h-16">Some Content 10</div>
<div className="h-16">Some Content 11</div>
<div className="h-16">Some Content 12</div>
<div className="h-16">Some Content 13</div>
<div className="h-16">Some Content 14</div>
<div className="h-16">Some Content 15</div>
<div className="h-16">Some Content 16</div>
</>
}
export default superUserTenantSomething

View File

@@ -0,0 +1,27 @@
import { ContentProps } from "@/validations/mutual/dashboard/props";
// This is a mock page dont use it
const superUserTenantSomethingSecond: React.FC<ContentProps> = ({ lang, translations, activePageUrl }) => {
return <>
<h1 className="text-4xl font-bold mb-10">{JSON.stringify(translations)}{" "}{lang}{" "}{activePageUrl}</h1>
<div className="h-16">Some Content 1</div>
<div className="h-16">Some Content 2</div>
<div className="h-16">Some Content 3</div>
<div className="h-16">Some Content 4</div>
<div className="h-16">Some Content 5</div>
<div className="h-16">Some Content 6</div>
<div className="h-16">Some Content 7</div>
<div className="h-16">Some Content 8</div>
<div className="h-16">Some Content 9</div>
<div className="h-16">Some Content 10</div>
<div className="h-16">Some Content 11</div>
<div className="h-16">Some Content 12</div>
<div className="h-16">Some Content 13</div>
<div className="h-16">Some Content 14</div>
<div className="h-16">Some Content 15</div>
<div className="h-16">Some Content 16</div>
</>
}
export default superUserTenantSomethingSecond