From 28c1cd9d63e479eacaba3c2ef1c1d9dcf2a3887f Mon Sep 17 00:00:00 2001 From: Berkay Date: Wed, 14 May 2025 16:48:54 +0300 Subject: [PATCH] pages updated --- .../client_frontend/src/pages/multi/index.ts | 6 +-- .../account/tenantSomething/page.tsx | 45 +++++++++++-------- .../src/webPages/auth/login/hook.ts | 8 +++- .../src/webPages/auth/login/page.tsx | 2 +- .../src/webPages/auth/select/hook.ts | 2 +- 5 files changed, 39 insertions(+), 24 deletions(-) diff --git a/web_services/client_frontend/src/pages/multi/index.ts b/web_services/client_frontend/src/pages/multi/index.ts index c5831c0..e251290 100644 --- a/web_services/client_frontend/src/pages/multi/index.ts +++ b/web_services/client_frontend/src/pages/multi/index.ts @@ -4,13 +4,13 @@ import superUserTenantSomethingSecond from "./management/account/tenantSomething import superUserBuildingPartsTenantSomething from "./building/parts/tenantSomething/page"; const pageIndexMulti: Record>> = { - "panel/management/account/tenant/something": { + "management/account/tenant/something": { superUserTenantSomething: superUserTenantSomething, }, - "panel/management/account/tenant/somethingSecond": { + "management/account/tenant/somethingSecond": { superUserTenantSomething: superUserTenantSomethingSecond, }, - "panel/building/parts/tenant/something": { + "building/parts/tenant/something": { superUserTenantSomething: superUserBuildingPartsTenantSomething, }, }; diff --git a/web_services/client_frontend/src/pages/multi/management/account/tenantSomething/page.tsx b/web_services/client_frontend/src/pages/multi/management/account/tenantSomething/page.tsx index 3a3eda8..5e7e480 100644 --- a/web_services/client_frontend/src/pages/multi/management/account/tenantSomething/page.tsx +++ b/web_services/client_frontend/src/pages/multi/management/account/tenantSomething/page.tsx @@ -1,19 +1,24 @@ '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"; + +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 const superUserTenantSomething: React.FC = ({ lang, translations, activePageUrl, mode }) => { - const router = useRouter() const [selectedRow, setSelectedRow] = useState(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 initPaginationDefault = { page: 1, size: 10, orderFields: [], orderTypes: [], query: {} } const renderLastRowComponent = (reDirectUrl: string, IconToWrap: any) => { @@ -21,11 +26,11 @@ const superUserTenantSomething: React.FC = ({ lang, translations, } const redirectUrls = { table: { - update: renderLastRowComponent(`/${lang}/${activePageUrl}?mode=update`, PencilIcon), - view: renderLastRowComponent(`/${lang}/${activePageUrl}?mode=view`, EyeIcon), + update: renderLastRowComponent(`${basePageUrl}=update`, PencilIcon), + view: renderLastRowComponent(`${basePageUrl}=view`, EyeIcon), }, page: { - create: renderLastRowComponent(`/${lang}/${activePageUrl}?mode=create`, PlusCircle), + create: renderLastRowComponent(`${basePageUrl}=create`, PlusCircle), } } const schemas = { list: {} } @@ -41,10 +46,8 @@ const superUserTenantSomething: React.FC = ({ lang, translations, "createdAt", "updatedAt", ] - const ListWithTableProps = { - urls: { - list: "http://localhost:3000/api/tst", - }, + const listWithTableProps = { + urls: { list: "http://localhost:3000/api/tst" }, schemas: schemas, translations: translations, columns: columns, @@ -53,27 +56,33 @@ const superUserTenantSomething: React.FC = ({ lang, translations, setSelectedRow: setSelectedRow, } const CreateFormProps = { - schemas: schemas, + schemas: { create: getSchema.createSchema }, + labels: getSchema.labels, selectedRow: selectedRow, } const UpdateFormProps = { rollbackTo: pageUrl, - schemas: schemas, + schemas: { update: getSchema.updateSchema }, + labels: getSchema.labels, selectedRow: selectedRow, } const ViewFormProps = { rollbackTo: pageUrl, - schemas: schemas, + schemas: { view: getSchema.detailSchema }, selectedRow: selectedRow, + labels: getSchema.labels, } - const RenderBackToList =
setSelectedRow(null)}> {renderLastRowComponent(pageUrl, ArrowLeftFromLineIcon)}
+ 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(translations)} - {mode !== 'list' ? RenderBackToList : } + {/* {JSON.stringify(getSchema)} */} + {!isList && RenderBackToList} + {isList && mode === 'shortList' && <>} + {isList && mode === 'fullList' && <>} {mode === 'create' && } {mode === 'update' && } {mode === 'view' && } diff --git a/web_services/client_frontend/src/webPages/auth/login/hook.ts b/web_services/client_frontend/src/webPages/auth/login/hook.ts index 43c5768..b87ae9a 100644 --- a/web_services/client_frontend/src/webPages/auth/login/hook.ts +++ b/web_services/client_frontend/src/webPages/auth/login/hook.ts @@ -21,7 +21,13 @@ export function loginHook( response.json().then((data) => { console.log("data", data); // setJsonText(JSON.stringify(data)); 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); }); } else { diff --git a/web_services/client_frontend/src/webPages/auth/login/page.tsx b/web_services/client_frontend/src/webPages/auth/login/page.tsx index 39dd190..f440915 100644 --- a/web_services/client_frontend/src/webPages/auth/login/page.tsx +++ b/web_services/client_frontend/src/webPages/auth/login/page.tsx @@ -18,7 +18,7 @@ function Login({ language }: AuthPageProps) { const [jsonText, setJsonText] = useState(null); const { register, formState: { errors }, handleSubmit, } = useForm({ 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 ( <> diff --git a/web_services/client_frontend/src/webPages/auth/select/hook.ts b/web_services/client_frontend/src/webPages/auth/select/hook.ts index 676b054..de5fc90 100644 --- a/web_services/client_frontend/src/webPages/auth/select/hook.ts +++ b/web_services/client_frontend/src/webPages/auth/select/hook.ts @@ -10,7 +10,7 @@ function selectEmployeeHook( ) { try { const sendData = { ...data }; - const urlToDirect = `/auth/${lang}/panel/building/parts/tenant/something`; + const urlToDirect = `/panel/${lang}/building/parts/tenant/something`; startTransition(() => { fetch("/api/selection/employee", { method: "POST",