pages updated
This commit is contained in:
parent
4bdac8aa61
commit
28c1cd9d63
|
|
@ -4,13 +4,13 @@ import superUserTenantSomethingSecond from "./management/account/tenantSomething
|
||||||
import superUserBuildingPartsTenantSomething from "./building/parts/tenantSomething/page";
|
import superUserBuildingPartsTenantSomething from "./building/parts/tenantSomething/page";
|
||||||
|
|
||||||
const pageIndexMulti: Record<string, Record<string, React.FC<ContentProps>>> = {
|
const pageIndexMulti: Record<string, Record<string, React.FC<ContentProps>>> = {
|
||||||
"panel/management/account/tenant/something": {
|
"management/account/tenant/something": {
|
||||||
superUserTenantSomething: superUserTenantSomething,
|
superUserTenantSomething: superUserTenantSomething,
|
||||||
},
|
},
|
||||||
"panel/management/account/tenant/somethingSecond": {
|
"management/account/tenant/somethingSecond": {
|
||||||
superUserTenantSomething: superUserTenantSomethingSecond,
|
superUserTenantSomething: superUserTenantSomethingSecond,
|
||||||
},
|
},
|
||||||
"panel/building/parts/tenant/something": {
|
"building/parts/tenant/something": {
|
||||||
superUserTenantSomething: superUserBuildingPartsTenantSomething,
|
superUserTenantSomething: superUserBuildingPartsTenantSomething,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,24 @@
|
||||||
'use client';
|
'use client';
|
||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
import TableComponent from "@/components/mutual/tableView/FullTableComp/component";
|
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 Link from "next/link";
|
||||||
import CreateForm from "@/components/mutual/tableView/mutual/CreateForm";
|
import CreateForm from "@/components/mutual/tableView/mutual/CreateForm";
|
||||||
import UpdateForm from "@/components/mutual/tableView/mutual/UpdateForm";
|
import UpdateForm from "@/components/mutual/tableView/mutual/UpdateForm";
|
||||||
import ViewForm from "@/components/mutual/tableView/mutual/ViewForm";
|
import ViewForm from "@/components/mutual/tableView/mutual/ViewForm";
|
||||||
import { useRouter } from "next/navigation";
|
|
||||||
|
import { ContentProps } from "@/validations/mutual/dashboard/props";
|
||||||
|
import { EyeIcon, PencilIcon, PlusCircle, ArrowLeftFromLineIcon } from "lucide-react";
|
||||||
|
import { getSchemaByLanguage } from "@/schemas/custom/building/parts/tenantSomething/schemas";
|
||||||
|
|
||||||
|
|
||||||
// This is a mock page dont use it
|
// This is a mock page dont use it
|
||||||
const superUserTenantSomething: React.FC<ContentProps> = ({ lang, translations, activePageUrl, mode }) => {
|
const superUserTenantSomething: React.FC<ContentProps> = ({ lang, translations, activePageUrl, mode }) => {
|
||||||
const router = useRouter()
|
|
||||||
const [selectedRow, setSelectedRow] = useState<any>(null);
|
const [selectedRow, setSelectedRow] = useState<any>(null);
|
||||||
const pageUrl = `/${lang}/${activePageUrl}?mode=list`
|
|
||||||
|
const getSchema = getSchemaByLanguage(lang)
|
||||||
|
const isList = mode === 'shortList' || mode === 'fullList'
|
||||||
|
const basePageUrl = `/panel/${lang}/${activePageUrl}?mode=`
|
||||||
|
const pageUrl = `/panel/${lang}/${activePageUrl}?mode=list`
|
||||||
const urls = { list: "http://localhost:3000/api/tst" }
|
const urls = { list: "http://localhost:3000/api/tst" }
|
||||||
const initPaginationDefault = { page: 1, size: 10, orderFields: [], orderTypes: [], query: {} }
|
const initPaginationDefault = { page: 1, size: 10, orderFields: [], orderTypes: [], query: {} }
|
||||||
const renderLastRowComponent = (reDirectUrl: string, IconToWrap: any) => {
|
const renderLastRowComponent = (reDirectUrl: string, IconToWrap: any) => {
|
||||||
|
|
@ -21,11 +26,11 @@ const superUserTenantSomething: React.FC<ContentProps> = ({ lang, translations,
|
||||||
}
|
}
|
||||||
const redirectUrls = {
|
const redirectUrls = {
|
||||||
table: {
|
table: {
|
||||||
update: renderLastRowComponent(`/${lang}/${activePageUrl}?mode=update`, PencilIcon),
|
update: renderLastRowComponent(`${basePageUrl}=update`, PencilIcon),
|
||||||
view: renderLastRowComponent(`/${lang}/${activePageUrl}?mode=view`, EyeIcon),
|
view: renderLastRowComponent(`${basePageUrl}=view`, EyeIcon),
|
||||||
},
|
},
|
||||||
page: {
|
page: {
|
||||||
create: renderLastRowComponent(`/${lang}/${activePageUrl}?mode=create`, PlusCircle),
|
create: renderLastRowComponent(`${basePageUrl}=create`, PlusCircle),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const schemas = { list: {} }
|
const schemas = { list: {} }
|
||||||
|
|
@ -41,10 +46,8 @@ const superUserTenantSomething: React.FC<ContentProps> = ({ lang, translations,
|
||||||
"createdAt",
|
"createdAt",
|
||||||
"updatedAt",
|
"updatedAt",
|
||||||
]
|
]
|
||||||
const ListWithTableProps = {
|
const listWithTableProps = {
|
||||||
urls: {
|
urls: { list: "http://localhost:3000/api/tst" },
|
||||||
list: "http://localhost:3000/api/tst",
|
|
||||||
},
|
|
||||||
schemas: schemas,
|
schemas: schemas,
|
||||||
translations: translations,
|
translations: translations,
|
||||||
columns: columns,
|
columns: columns,
|
||||||
|
|
@ -53,27 +56,33 @@ const superUserTenantSomething: React.FC<ContentProps> = ({ lang, translations,
|
||||||
setSelectedRow: setSelectedRow,
|
setSelectedRow: setSelectedRow,
|
||||||
}
|
}
|
||||||
const CreateFormProps = {
|
const CreateFormProps = {
|
||||||
schemas: schemas,
|
schemas: { create: getSchema.createSchema },
|
||||||
|
labels: getSchema.labels,
|
||||||
selectedRow: selectedRow,
|
selectedRow: selectedRow,
|
||||||
}
|
}
|
||||||
const UpdateFormProps = {
|
const UpdateFormProps = {
|
||||||
rollbackTo: pageUrl,
|
rollbackTo: pageUrl,
|
||||||
schemas: schemas,
|
schemas: { update: getSchema.updateSchema },
|
||||||
|
labels: getSchema.labels,
|
||||||
selectedRow: selectedRow,
|
selectedRow: selectedRow,
|
||||||
}
|
}
|
||||||
const ViewFormProps = {
|
const ViewFormProps = {
|
||||||
rollbackTo: pageUrl,
|
rollbackTo: pageUrl,
|
||||||
schemas: schemas,
|
schemas: { view: getSchema.detailSchema },
|
||||||
selectedRow: selectedRow,
|
selectedRow: selectedRow,
|
||||||
|
labels: getSchema.labels,
|
||||||
}
|
}
|
||||||
|
|
||||||
const RenderBackToList = <div onClick={() => setSelectedRow(null)}>
|
const RenderBackToList = <div onClick={() => setSelectedRow(null)}>
|
||||||
{renderLastRowComponent(pageUrl, ArrowLeftFromLineIcon)}
|
{renderLastRowComponent(pageUrl, ArrowLeftFromLineIcon)}
|
||||||
</div>
|
</div>
|
||||||
|
const shortAddProps = { ...listWithTableProps, schemas: { table: getSchema.shortSchema }, columns: { table: getSchema.shortColumns } }
|
||||||
|
const fullAddProps = { ...listWithTableProps, schemas: { table: getSchema.detailSchema }, columns: { table: getSchema.columns } }
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{JSON.stringify(translations)}
|
{/* {JSON.stringify(getSchema)} */}
|
||||||
{mode !== 'list' ? RenderBackToList : <TableComponent {...ListWithTableProps} />}
|
{!isList && RenderBackToList}
|
||||||
|
{isList && mode === 'shortList' && <><TableComponent {...shortAddProps} /></>}
|
||||||
|
{isList && mode === 'fullList' && <><TableComponent {...fullAddProps} /></>}
|
||||||
{mode === 'create' && <CreateForm {...CreateFormProps} />}
|
{mode === 'create' && <CreateForm {...CreateFormProps} />}
|
||||||
{mode === 'update' && <UpdateForm {...UpdateFormProps} />}
|
{mode === 'update' && <UpdateForm {...UpdateFormProps} />}
|
||||||
{mode === 'view' && <ViewForm {...ViewFormProps} />}
|
{mode === 'view' && <ViewForm {...ViewFormProps} />}
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,13 @@ export function loginHook(
|
||||||
response.json().then((data) => {
|
response.json().then((data) => {
|
||||||
console.log("data", data); // setJsonText(JSON.stringify(data));
|
console.log("data", data); // setJsonText(JSON.stringify(data));
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
Router.push(`/auth/${lang}/select`);
|
const userType =
|
||||||
|
data?.data?.user_type.toLowerCase() === "employee"
|
||||||
|
? "employee"
|
||||||
|
: "occupant";
|
||||||
|
const rediretUrl = `/auth/${lang}/select?type=${userType}`;
|
||||||
|
console.log("rediretUrl", rediretUrl);
|
||||||
|
Router.push(rediretUrl);
|
||||||
}, 100);
|
}, 100);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ function Login({ language }: AuthPageProps) {
|
||||||
const [jsonText, setJsonText] = useState<string | null>(null);
|
const [jsonText, setJsonText] = useState<string | null>(null);
|
||||||
|
|
||||||
const { register, formState: { errors }, handleSubmit, } = useForm<LoginFormData>({ resolver: zodResolver(loginSchemaEmail) });
|
const { register, formState: { errors }, handleSubmit, } = useForm<LoginFormData>({ resolver: zodResolver(loginSchemaEmail) });
|
||||||
const onSubmit = async (data: LoginFormData) => { loginHook(startTransition, data, setError, setJsonText, Router) };
|
const onSubmit = async (data: LoginFormData) => { loginHook(startTransition, data, setError, setJsonText, Router, language) };
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ function selectEmployeeHook(
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
const sendData = { ...data };
|
const sendData = { ...data };
|
||||||
const urlToDirect = `/auth/${lang}/panel/building/parts/tenant/something`;
|
const urlToDirect = `/panel/${lang}/building/parts/tenant/something`;
|
||||||
startTransition(() => {
|
startTransition(() => {
|
||||||
fetch("/api/selection/employee", {
|
fetch("/api/selection/employee", {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue