From dd4a8f333d5dae61c7426435f2aca9e124512b0f Mon Sep 17 00:00:00 2001 From: berkay Date: Wed, 16 Apr 2025 20:52:35 +0300 Subject: [PATCH] updated left menu and page template --- .../client-frontend/src/apicalls/basics.ts | 6 +- .../src/apicalls/login/login.tsx | 2 - .../src/apicalls/people/people.tsx | 31 ++ .../src/apicalls/schemas/list.tsx | 14 + .../app/(DashboardLayout)/template/page.tsx | 60 +++ .../components/NavigatePages/app000003.tsx | 108 +++-- .../src/components/Pages/people/a.txt | 0 .../Pages/people/superusers/card1.tsx | 44 ++ .../Pages/people/superusers/peopleform1.tsx | 431 ++++++++++++++++++ .../Pages/people/superusers/peopleinfo1.tsx | 74 +++ .../Pages/people/superusers/peoplepage1.tsx | 37 ++ .../Pages/people/superusers/peopleschema1.tsx | 24 + .../Pages/template/ActionButtonsComponent.tsx | 26 ++ .../Pages/template/DataDisplayComponent.tsx | 60 +++ .../Pages/template/FormComponent.tsx | 127 ++++++ .../Pages/template/ListInfoComponent.tsx | 136 ++++++ .../template/PaginationToolsComponent.tsx | 77 ++++ .../Pages/template/SearchComponent.tsx | 133 ++++++ .../Pages/template/SortingComponent.tsx | 76 +++ .../src/components/Pages/template/app.tsx | 125 +++++ .../src/components/Pages/template/hooks.ts | 124 +++++ .../src/components/Pages/template/language.ts | 56 +++ .../src/components/Pages/template/schema.ts | 98 ++++ .../src/components/dash/card.tsx | 56 +++ .../src/components/menuCleint/handler.tsx | 109 +++++ .../src/components/menuCleint/menu.tsx | 116 +++++ .../src/components/menuCleint/store.tsx | 203 +++++++++ docker-compose.yml | 158 +++---- 28 files changed, 2397 insertions(+), 114 deletions(-) create mode 100644 WebServices/client-frontend/src/apicalls/people/people.tsx create mode 100644 WebServices/client-frontend/src/apicalls/schemas/list.tsx create mode 100644 WebServices/client-frontend/src/app/(DashboardLayout)/template/page.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/people/a.txt create mode 100644 WebServices/client-frontend/src/components/Pages/people/superusers/card1.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/people/superusers/peopleform1.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/people/superusers/peopleinfo1.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/people/superusers/peoplepage1.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/people/superusers/peopleschema1.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/template/ActionButtonsComponent.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/template/DataDisplayComponent.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/template/FormComponent.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/template/ListInfoComponent.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/template/PaginationToolsComponent.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/template/SearchComponent.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/template/SortingComponent.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/template/app.tsx create mode 100644 WebServices/client-frontend/src/components/Pages/template/hooks.ts create mode 100644 WebServices/client-frontend/src/components/Pages/template/language.ts create mode 100644 WebServices/client-frontend/src/components/Pages/template/schema.ts create mode 100644 WebServices/client-frontend/src/components/dash/card.tsx create mode 100644 WebServices/client-frontend/src/components/menuCleint/handler.tsx create mode 100644 WebServices/client-frontend/src/components/menuCleint/menu.tsx create mode 100644 WebServices/client-frontend/src/components/menuCleint/store.tsx diff --git a/WebServices/client-frontend/src/apicalls/basics.ts b/WebServices/client-frontend/src/apicalls/basics.ts index 17eea35..46f4d58 100644 --- a/WebServices/client-frontend/src/apicalls/basics.ts +++ b/WebServices/client-frontend/src/apicalls/basics.ts @@ -6,9 +6,9 @@ const formatServiceUrl = (url: string) => { export const baseUrlAuth = formatServiceUrl( process.env.NEXT_PUBLIC_AUTH_SERVICE_URL || "auth_service:8001" ); -// export const baseUrlValidation = formatServiceUrl( -// process.env.NEXT_PUBLIC_VALIDATION_SERVICE_URL || "validationservice:8888" -// ); +export const baseUrlPeople = formatServiceUrl( + process.env.NEXT_PUBLIC_VALIDATION_SERVICE_URL || "identity_service:8002" +); // export const baseUrlEvent = formatServiceUrl( // process.env.NEXT_PUBLIC_EVENT_SERVICE_URL || "eventservice:8888" // ); diff --git a/WebServices/client-frontend/src/apicalls/login/login.tsx b/WebServices/client-frontend/src/apicalls/login/login.tsx index edd0364..9e7e3b6 100644 --- a/WebServices/client-frontend/src/apicalls/login/login.tsx +++ b/WebServices/client-frontend/src/apicalls/login/login.tsx @@ -5,8 +5,6 @@ import { fetchData, fetchDataWithToken } from "../api-fetcher"; import { baseUrlAuth, cookieObject, tokenSecret } from "../basics"; import { cookies } from "next/headers"; -// import { setAvailableEvents } from "../events/available"; - const loginEndpoint = `${baseUrlAuth}/authentication/login`; const loginSelectEndpoint = `${baseUrlAuth}/authentication/select`; diff --git a/WebServices/client-frontend/src/apicalls/people/people.tsx b/WebServices/client-frontend/src/apicalls/people/people.tsx new file mode 100644 index 0000000..2648ce2 --- /dev/null +++ b/WebServices/client-frontend/src/apicalls/people/people.tsx @@ -0,0 +1,31 @@ +"use server"; +import { fetchData, fetchDataWithToken } from "../api-fetcher"; +import { baseUrlPeople, cookieObject, tokenSecret } from "../basics"; +import { PageListOptions, PaginateOnly } from "../schemas/list"; + +const peopleListEndpoint = `${baseUrlPeople}/people/list`; +const peopleCreateEndpoint = `${baseUrlPeople}/people/create`; +const peopleUpdateEndpoint = `${baseUrlPeople}/people/update`; + +async function peopleList(payload: PageListOptions) { + try { + const response = await fetchDataWithToken( + peopleListEndpoint, + { + page: payload.page, + size: payload.size, + order_field: payload.orderField, + order_type: payload.orderType, + query: payload.query, + }, + "POST", + false + ); + return response?.status === 200 ? response.data : null; + } catch (error) { + console.error("Error fetching people list:", error); + return null; + } +} + +export { peopleList }; diff --git a/WebServices/client-frontend/src/apicalls/schemas/list.tsx b/WebServices/client-frontend/src/apicalls/schemas/list.tsx new file mode 100644 index 0000000..659fb37 --- /dev/null +++ b/WebServices/client-frontend/src/apicalls/schemas/list.tsx @@ -0,0 +1,14 @@ +export interface PaginateOnly { + page?: number; + size?: number; + orderField?: string[]; + orderType?: string[]; +} + +export interface PageListOptions { + page?: number; + size?: number; + orderField?: string[]; + orderType?: string[]; + query?: any; +} diff --git a/WebServices/client-frontend/src/app/(DashboardLayout)/template/page.tsx b/WebServices/client-frontend/src/app/(DashboardLayout)/template/page.tsx new file mode 100644 index 0000000..c6f0e95 --- /dev/null +++ b/WebServices/client-frontend/src/app/(DashboardLayout)/template/page.tsx @@ -0,0 +1,60 @@ +"use server"; +import React from "react"; +import Template from "@/components/Pages/template/app"; +import ClientMenu from "@/components/menuCleint/menu"; +import { LanguageKey } from "@/components/Pages/template/language"; + +import { retrievePageList } from "@/apicalls/cookies/token"; + +interface TemplatePageProps { + params: { lang?: string }; + searchParams: { [key: string]: string | string[] | undefined }; +} + +async function TemplatePage({ params, searchParams }: TemplatePageProps) { + // Get language from query params or default to 'en' + const pParams = await params; + const siteUrlsList = (await retrievePageList()) || []; + const searchParamsInstance = await searchParams; + const activePage = "/template"; + const lang = (searchParamsInstance?.lang as LanguageKey) || "en"; + + return ( + <> + <> +
+ {/* Sidebar */} + + + {/* Main Content Area */} +
+ {/* Sticky Header */} +
+

{activePage}

+
+ +
+
+
+
+