diff --git a/web_services/client_frontend/src/app/page.tsx b/web_services/client_frontend/src/app/page.tsx index e68abe6..1236d6c 100644 --- a/web_services/client_frontend/src/app/page.tsx +++ b/web_services/client_frontend/src/app/page.tsx @@ -1,103 +1,32 @@ -import Image from "next/image"; +"use server"; +import Link from "next/link"; + +export default async function Home() { + const currentDate = new Date().toLocaleString("tr-TR", { timeZone: "Europe/Istanbul" }); -export default function Home() { return ( -
-
- Next.js logo -
    -
  1. - Get started by editing{" "} - - src/app/page.tsx - - . -
  2. -
  3. - Save and see your changes instantly. -
  4. -
+
+
-
- - Vercel logomark - Deploy now - - - Read our docs - +
+

Welcome to EVYOS

+

Enterprise Management System

+

Server Time: {currentDate}

-
- + +
+
+ Go to Sign In +
+ +
+

© {new Date().getFullYear()} EVYOS. All rights reserved.

+
+
+
); -} +} \ No newline at end of file diff --git a/web_services/client_frontend/src/components/mutual/navigators/component.tsx b/web_services/client_frontend/src/components/mutual/navigators/component.tsx new file mode 100644 index 0000000..63ab044 --- /dev/null +++ b/web_services/client_frontend/src/components/mutual/navigators/component.tsx @@ -0,0 +1,7 @@ +import Link from "next/link" + +const renderLastRowComponent = (reDirectUrl: string, IconToWrap: any, key: string) => { + return +} + +export { renderLastRowComponent } diff --git a/web_services/client_frontend/src/languages/custom/index.ts b/web_services/client_frontend/src/languages/custom/index.ts index ba6128b..7137046 100644 --- a/web_services/client_frontend/src/languages/custom/index.ts +++ b/web_services/client_frontend/src/languages/custom/index.ts @@ -1,5 +1,5 @@ import { LanguageTypes } from "@/validations/mutual/language/validations"; -import { DynamicPage } from "@/schemas/custom/menu/type"; +import { DynamicPage } from "@/validations/mutual/menu/menu"; import { managementAccountTenantMain } from "./management/account/tenantSomething/index"; import { managementAccountTenantMainSecond } from "./management/account/tenantSomethingSecond/index"; import { buildingPartsTenantSomething } from "./building/parts/tenantSomething/index"; diff --git a/web_services/management_frontend/src/app/page.tsx b/web_services/management_frontend/src/app/page.tsx index e68abe6..1236d6c 100644 --- a/web_services/management_frontend/src/app/page.tsx +++ b/web_services/management_frontend/src/app/page.tsx @@ -1,103 +1,32 @@ -import Image from "next/image"; +"use server"; +import Link from "next/link"; + +export default async function Home() { + const currentDate = new Date().toLocaleString("tr-TR", { timeZone: "Europe/Istanbul" }); -export default function Home() { return ( -
-
- Next.js logo -
    -
  1. - Get started by editing{" "} - - src/app/page.tsx - - . -
  2. -
  3. - Save and see your changes instantly. -
  4. -
+
+
-
- - Vercel logomark - Deploy now - - - Read our docs - +
+

Welcome to EVYOS

+

Enterprise Management System

+

Server Time: {currentDate}

-
- + +
+
+ Go to Sign In +
+ +
+

© {new Date().getFullYear()} EVYOS. All rights reserved.

+
+
+
); -} +} \ No newline at end of file diff --git a/web_services/management_frontend/src/components/custom/content/component.tsx b/web_services/management_frontend/src/components/custom/content/component.tsx index f993788..dd7db2d 100644 --- a/web_services/management_frontend/src/components/custom/content/component.tsx +++ b/web_services/management_frontend/src/components/custom/content/component.tsx @@ -11,9 +11,7 @@ const ContentComponent: FC = async ({ lang, translations, activePa const PageToBeChildrend = isMulti ? PageToBeChildrendMulti : PageToBeChildrendSingle const loadingContent = const classNameDiv = "fixed top-24 left-80 right-0 py-10 px-15 border-emerald-150 border-l-2 overflow-y-auto h-[calc(100vh-64px)]" - return ( -
- ); + return
; }; export default ContentComponent; diff --git a/web_services/management_frontend/src/components/custom/menu/single/component.tsx b/web_services/management_frontend/src/components/custom/menu/single/component.tsx new file mode 100644 index 0000000..dedc23b --- /dev/null +++ b/web_services/management_frontend/src/components/custom/menu/single/component.tsx @@ -0,0 +1,32 @@ +'use client'; +import Link from "next/link"; + +import { FC } from "react"; +import { MenuSingleProps, SingleLayerItemProps } from "@/validations/mutual/dashboard/props"; +import { langGetKey } from "@/lib/langGet"; + +const SingleLayerItem: FC = ({ isActive, innerText, url }) => { + let className = "py-3 px-4 text-sm rounded-xl cursor-pointer transition-colors duration-200 flex justify-between items-center w-full"; + if (isActive) { className += " bg-emerald-700 text-white font-medium" } + else { className += " bg-emerald-800 text-white hover:bg-emerald-700" } + return {innerText} +}; + +const MenuComponent: FC = ({ lang, activePageUrl, translations, menuItems }) => { + + const renderMenuItems = () => { + return menuItems.map((key) => { + const url = `/${lang}/${key}`; + const isActive = activePageUrl === key; + return
+ }); + }; + + return ( +
+
{renderMenuItems()}
+
+ ); +}; + +export default MenuComponent; diff --git a/web_services/management_frontend/src/languages/a.txt b/web_services/management_frontend/src/languages/a.txt new file mode 100644 index 0000000..e69de29 diff --git a/web_services/management_frontend/src/languages/custom/building/english.ts b/web_services/management_frontend/src/languages/custom/building/english.ts new file mode 100644 index 0000000..e38d477 --- /dev/null +++ b/web_services/management_frontend/src/languages/custom/building/english.ts @@ -0,0 +1,24 @@ +const buildingEn = { + building: "Building First Layer Label", +}; + +const buildingPartsEn = { + ...buildingEn, + parts: "Parts Second Layer Label", +}; + +const buildingPartsFieldsEn = { + "Users.uuid": "UUID", + "Users.firstName": "First Name", + "Users.lastName": "Last Name", + "Users.email": "Email", + "Users.phoneNumber": "Phone Number", + "Users.country": "Country", + "Users.description": "Description", + "Users.isDeleted": "Is Deleted", + "Users.isConfirmed": "Is Confirmed", + "Users.createdAt": "Created At", + "Users.updatedAt": "Updated At", +}; + +export { buildingEn, buildingPartsEn, buildingPartsFieldsEn }; diff --git a/web_services/management_frontend/src/languages/custom/building/turkish.ts b/web_services/management_frontend/src/languages/custom/building/turkish.ts new file mode 100644 index 0000000..bd65725 --- /dev/null +++ b/web_services/management_frontend/src/languages/custom/building/turkish.ts @@ -0,0 +1,23 @@ +const buildingTr = { + building: "Bina Birinci Seviye", +}; +const buildingPartsTr = { + ...buildingTr, + parts: "Parçalar İkinci Seviye", +}; + +const buildingPartsFieldsTr = { + "Users.uuid": "UUID", + "Users.firstName": "Ad", + "Users.lastName": "Soyad", + "Users.email": "Email", + "Users.phoneNumber": "Telefon Numarası", + "Users.country": "Ülke", + "Users.description": "Açıklama", + "Users.isDeleted": "Silindi", + "Users.isConfirmed": "Onaylandı", + "Users.createdAt": "Oluşturulma Tarihi", + "Users.updatedAt": "Güncellenme Tarihi", +}; + +export { buildingTr, buildingPartsTr, buildingPartsFieldsTr }; diff --git a/web_services/management_frontend/src/languages/custom/index.ts b/web_services/management_frontend/src/languages/custom/index.ts new file mode 100644 index 0000000..21fa2bb --- /dev/null +++ b/web_services/management_frontend/src/languages/custom/index.ts @@ -0,0 +1,11 @@ +import { LanguageTypes } from "@/validations/mutual/language/validations"; +import { DynamicPage } from "@/validations/mutual/menu/menu"; +import { managementAccountTenantMain } from "./management/account/tenantSomething/index"; +import { managementAccountTenantMainSecond } from "./management/account/tenantSomethingSecond/index"; + +const dynamicPagesIndex: Record> = { + application: managementAccountTenantMain, + services: managementAccountTenantMainSecond, +}; + +export { dynamicPagesIndex }; diff --git a/web_services/management_frontend/src/languages/custom/management/a.txt b/web_services/management_frontend/src/languages/custom/management/a.txt new file mode 100644 index 0000000..e69de29 diff --git a/web_services/management_frontend/src/languages/custom/management/account/a copy.txt b/web_services/management_frontend/src/languages/custom/management/account/a copy.txt new file mode 100644 index 0000000..e69de29 diff --git a/web_services/management_frontend/src/languages/custom/management/account/tenantSomething/english.ts b/web_services/management_frontend/src/languages/custom/management/account/tenantSomething/english.ts new file mode 100644 index 0000000..4b7f805 --- /dev/null +++ b/web_services/management_frontend/src/languages/custom/management/account/tenantSomething/english.ts @@ -0,0 +1,39 @@ +import { footerDefaultEn } from "@/languages/mutual/footer/english"; +import { headerDefaultEn } from "@/languages/mutual/header/english"; +import { managementAccountEn, managementAccountFieldsEn } from "../../english"; +import { contentDefaultEn } from "@/languages/mutual/content/english"; + +const contentManagementAccountTenantSomethingEn = { + ...managementAccountFieldsEn, + title: "Management Account Tenant Something", + content: "Management Account Tenant Something Content", + button: "Management Account Tenant Something Button", +}; +const footerManagementAccountTenantSomethingEn = { + ...footerDefaultEn, + page: "Management Account Tenant Something Footer", +}; +const headerManagementAccountTenantSomethingEn = { + ...headerDefaultEn, + page: "Management Account Tenant Something Header", +}; + +const menuManagementAccountTenantSomethingEn = { + ...managementAccountEn, + "tenant/something": "Tenant Info", +}; + +const managementAccountTenantMainEn = { + header: headerManagementAccountTenantSomethingEn, + menu: menuManagementAccountTenantSomethingEn, + content: contentManagementAccountTenantSomethingEn, + footer: footerManagementAccountTenantSomethingEn, +}; + +export { + contentManagementAccountTenantSomethingEn, + footerManagementAccountTenantSomethingEn, + headerManagementAccountTenantSomethingEn, + menuManagementAccountTenantSomethingEn, + managementAccountTenantMainEn, +}; diff --git a/web_services/management_frontend/src/languages/custom/management/account/tenantSomething/index.ts b/web_services/management_frontend/src/languages/custom/management/account/tenantSomething/index.ts new file mode 100644 index 0000000..c9da0fe --- /dev/null +++ b/web_services/management_frontend/src/languages/custom/management/account/tenantSomething/index.ts @@ -0,0 +1,9 @@ +import { managementAccountTenantMainTr } from "./turkish"; +import { managementAccountTenantMainEn } from "./english"; + +const managementAccountTenantMain = { + tr: managementAccountTenantMainTr, + en: managementAccountTenantMainEn, +} + +export { managementAccountTenantMain } diff --git a/web_services/management_frontend/src/languages/custom/management/account/tenantSomething/turkish.ts b/web_services/management_frontend/src/languages/custom/management/account/tenantSomething/turkish.ts new file mode 100644 index 0000000..7253171 --- /dev/null +++ b/web_services/management_frontend/src/languages/custom/management/account/tenantSomething/turkish.ts @@ -0,0 +1,36 @@ +import { footerDefaultTr } from "@/languages/mutual/footer/turkish"; +import { headerDefaultTr } from "@/languages/mutual/header/turkish"; +import { managementAccountTr } from "../../turkish"; + +const contentManagementAccountTenantSomethingTr = { + title: "Yönetim Hesap Kiracı Bilgileri", + description: "Yönetim Hesap Kiracı Bilgileri", + button: "Yönetim Hesap Kiracı Bilgileri Buton", +}; +const footerManagementAccountTenantSomethingTr = { + ...footerDefaultTr, + page: "Yönetim Hesap Kiracı Bilgileri Footer", +}; +const headerManagementAccountTenantSomethingTr = { + ...headerDefaultTr, + page: "Yönetim Hesap Kiracı Bilgileri Header", +}; + +const menuManagementAccountTenantSomethingTr = { + ...managementAccountTr, + "tenant/something": "Kiracı Bilgileri", +}; +const managementAccountTenantMainTr = { + header: headerManagementAccountTenantSomethingTr, + menu: menuManagementAccountTenantSomethingTr, + content: contentManagementAccountTenantSomethingTr, + footer: footerManagementAccountTenantSomethingTr, +}; + +export { + contentManagementAccountTenantSomethingTr, + footerManagementAccountTenantSomethingTr, + headerManagementAccountTenantSomethingTr, + menuManagementAccountTenantSomethingTr, + managementAccountTenantMainTr, +}; diff --git a/web_services/management_frontend/src/languages/custom/management/account/tenantSomethingSecond/english.ts b/web_services/management_frontend/src/languages/custom/management/account/tenantSomethingSecond/english.ts new file mode 100644 index 0000000..3c4a97b --- /dev/null +++ b/web_services/management_frontend/src/languages/custom/management/account/tenantSomethingSecond/english.ts @@ -0,0 +1,40 @@ +import { footerDefaultEn } from "@/languages/mutual/footer/english"; +import { headerDefaultEn } from "@/languages/mutual/header/english"; +import { contentDefaultEn } from "@/languages/mutual/content/english"; +import { managementAccountEn, managementAccountFieldsEn } from "../../english"; + +const contentManagementAccountTenantSomethingSecondEn = { + ...contentDefaultEn, + ...managementAccountFieldsEn, + title: "Management Account Tenant Something", + content: "Management Account Tenant Something Content", + button: "Management Account Tenant Something Button", +}; +const footerManagementAccountTenantSomethingSecondEn = { + ...footerDefaultEn, + page: "Management Account Tenant Something Second Footer", +}; +const headerManagementAccountTenantSomethingSecondEn = { + ...headerDefaultEn, + page: "Management Account Tenant Something Second Header", +}; + +const menuManagementAccountTenantSomethingSecondEn = { + ...managementAccountEn, + "tenant/somethingSecond": "Tenant Info Second", +}; + +const managementAccountTenantMainSecondEn = { + header: headerManagementAccountTenantSomethingSecondEn, + menu: menuManagementAccountTenantSomethingSecondEn, + content: contentManagementAccountTenantSomethingSecondEn, + footer: footerManagementAccountTenantSomethingSecondEn, +}; + +export { + contentManagementAccountTenantSomethingSecondEn, + footerManagementAccountTenantSomethingSecondEn, + headerManagementAccountTenantSomethingSecondEn, + menuManagementAccountTenantSomethingSecondEn, + managementAccountTenantMainSecondEn, +}; diff --git a/web_services/management_frontend/src/languages/custom/management/account/tenantSomethingSecond/index.ts b/web_services/management_frontend/src/languages/custom/management/account/tenantSomethingSecond/index.ts new file mode 100644 index 0000000..2fb2256 --- /dev/null +++ b/web_services/management_frontend/src/languages/custom/management/account/tenantSomethingSecond/index.ts @@ -0,0 +1,9 @@ +import { managementAccountTenantMainSecondTr } from "./turkish"; +import { managementAccountTenantMainSecondEn } from "./english"; + +const managementAccountTenantMainSecond = { + tr: managementAccountTenantMainSecondTr, + en: managementAccountTenantMainSecondEn, +}; + +export { managementAccountTenantMainSecond }; diff --git a/web_services/management_frontend/src/languages/custom/management/account/tenantSomethingSecond/turkish.ts b/web_services/management_frontend/src/languages/custom/management/account/tenantSomethingSecond/turkish.ts new file mode 100644 index 0000000..5b29633 --- /dev/null +++ b/web_services/management_frontend/src/languages/custom/management/account/tenantSomethingSecond/turkish.ts @@ -0,0 +1,37 @@ +import { footerDefaultTr } from "@/languages/mutual/footer/turkish"; +import { headerDefaultTr } from "@/languages/mutual/header/turkish"; +import { managementAccountTr, managementAccountFieldsTr } from "../../turkish"; + +const contentManagementAccountTenantSomethingSecondTr = { + ...managementAccountFieldsTr, + title: "Yönetim Hesap Kiracı Bilgileri", + description: "Yönetim Hesap Kiracı Bilgileri", + button: "Yönetim Hesap Kiracı Bilgileri Buton", +}; +const footerManagementAccountTenantSomethingSecondTr = { + ...footerDefaultTr, + page: "Yönetim Hesap Kiracı Bilgileri Footer", +}; +const headerManagementAccountTenantSomethingSecondTr = { + ...headerDefaultTr, + page: "Yönetim Hesap Kiracı Bilgileri Header", +}; + +const menuManagementAccountTenantSomethingSecondTr = { + ...managementAccountTr, + "tenant/somethingSecond": "İkinci Kiracı Bilgileri", +}; +const managementAccountTenantMainSecondTr = { + header: headerManagementAccountTenantSomethingSecondTr, + menu: menuManagementAccountTenantSomethingSecondTr, + content: contentManagementAccountTenantSomethingSecondTr, + footer: footerManagementAccountTenantSomethingSecondTr, +}; + +export { + contentManagementAccountTenantSomethingSecondTr, + footerManagementAccountTenantSomethingSecondTr, + headerManagementAccountTenantSomethingSecondTr, + menuManagementAccountTenantSomethingSecondTr, + managementAccountTenantMainSecondTr, +}; diff --git a/web_services/management_frontend/src/languages/custom/management/english.ts b/web_services/management_frontend/src/languages/custom/management/english.ts new file mode 100644 index 0000000..d511705 --- /dev/null +++ b/web_services/management_frontend/src/languages/custom/management/english.ts @@ -0,0 +1,23 @@ +const managementEn = { + management: "Management First Layer Label", +}; + +const managementAccountEn = { + ...managementEn, + account: "Account Second Layer Label", +}; + +const managementAccountFieldsEn = { + "User.firstName": "First Name", + "User.lastName": "Last Name", + "User.email": "Email", + "User.phoneNumber": "Phone Number", + "User.country": "Country", + "User.description": "Description", + "User.isDeleted": "Is Deleted", + "User.isConfirmed": "Is Confirmed", + "User.createdAt": "Created At", + "User.updatedAt": "Updated At", +}; + +export { managementEn, managementAccountEn, managementAccountFieldsEn }; diff --git a/web_services/management_frontend/src/languages/custom/management/turkish.ts b/web_services/management_frontend/src/languages/custom/management/turkish.ts new file mode 100644 index 0000000..eda9cac --- /dev/null +++ b/web_services/management_frontend/src/languages/custom/management/turkish.ts @@ -0,0 +1,22 @@ +const managementTr = { + management: "Management Birinci Seviye", +}; +const managementAccountTr = { + ...managementTr, + account: "Account İkinci Seviye", +}; + +const managementAccountFieldsTr = { + "User.firstName": "Ad", + "User.lastName": "Soyad", + "User.email": "Email", + "User.phoneNumber": "Telefon Numarası", + "User.country": "Ülke", + "User.description": "Açıklama", + "User.isDeleted": "Silindi", + "User.isConfirmed": "Onaylandı", + "User.createdAt": "Oluşturulma Tarihi", + "User.updatedAt": "Güncellenme Tarihi", +}; + +export { managementTr, managementAccountTr, managementAccountFieldsTr }; diff --git a/web_services/management_frontend/src/languages/mutual/content/english.ts b/web_services/management_frontend/src/languages/mutual/content/english.ts new file mode 100644 index 0000000..f96ec3a --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/content/english.ts @@ -0,0 +1,8 @@ +const contentDefaultEn = { + title: "Content Default", + content: "Content Default", + button: "Content Default", + rows: "Rows", +}; + +export { contentDefaultEn }; diff --git a/web_services/management_frontend/src/languages/mutual/content/index.ts b/web_services/management_frontend/src/languages/mutual/content/index.ts new file mode 100644 index 0000000..3cbbc5d --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/content/index.ts @@ -0,0 +1,9 @@ +import { contentDefaultTr } from "./turkish"; +import { contentDefaultEn } from "./english"; + +const contentDefault = { + tr: contentDefaultTr, + en: contentDefaultEn, +}; + +export { contentDefault }; diff --git a/web_services/management_frontend/src/languages/mutual/content/turkish.ts b/web_services/management_frontend/src/languages/mutual/content/turkish.ts new file mode 100644 index 0000000..537a002 --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/content/turkish.ts @@ -0,0 +1,8 @@ +const contentDefaultTr = { + title: "İçerik Varsayılan", + content: "İçerik Varsayılan", + button: "İçerik Varsayılan", + rows: "Satır", +}; + +export { contentDefaultTr }; diff --git a/web_services/management_frontend/src/languages/mutual/dashboard/english.ts b/web_services/management_frontend/src/languages/mutual/dashboard/english.ts new file mode 100644 index 0000000..540f3d7 --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/dashboard/english.ts @@ -0,0 +1,5 @@ +const dashboardTranslationEn = { + title: "Dashboard Panel", +}; + +export { dashboardTranslationEn }; diff --git a/web_services/management_frontend/src/languages/mutual/dashboard/index.ts b/web_services/management_frontend/src/languages/mutual/dashboard/index.ts new file mode 100644 index 0000000..250eff2 --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/dashboard/index.ts @@ -0,0 +1,7 @@ +import { dashboardTranslationEn } from "./english"; +import { dashboardTranslationTr } from "./turkish"; + +export const dashboardTranslation = { + en: dashboardTranslationEn, + tr: dashboardTranslationTr, +}; diff --git a/web_services/management_frontend/src/languages/mutual/dashboard/turkish.ts b/web_services/management_frontend/src/languages/mutual/dashboard/turkish.ts new file mode 100644 index 0000000..a7e112d --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/dashboard/turkish.ts @@ -0,0 +1,5 @@ +const dashboardTranslationTr = { + title: "Yönetim Panosu", +}; + +export { dashboardTranslationTr }; diff --git a/web_services/management_frontend/src/languages/mutual/footer/english.ts b/web_services/management_frontend/src/languages/mutual/footer/english.ts new file mode 100644 index 0000000..f6968ef --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/footer/english.ts @@ -0,0 +1,6 @@ +const footerDefaultEn = { + description: "Footer Default", + footer: "Footer Info", +}; + +export { footerDefaultEn }; diff --git a/web_services/management_frontend/src/languages/mutual/footer/turkish.ts b/web_services/management_frontend/src/languages/mutual/footer/turkish.ts new file mode 100644 index 0000000..0a4f822 --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/footer/turkish.ts @@ -0,0 +1,6 @@ +const footerDefaultTr = { + description: "Footer Bilgi", + footer: "Alt Bilgi", +}; + +export { footerDefaultTr }; diff --git a/web_services/management_frontend/src/languages/mutual/header/english.ts b/web_services/management_frontend/src/languages/mutual/header/english.ts new file mode 100644 index 0000000..707862f --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/header/english.ts @@ -0,0 +1,5 @@ +const headerDefaultEn = { + selectedPage: "Selected Page", +}; + +export { headerDefaultEn }; diff --git a/web_services/management_frontend/src/languages/mutual/header/turkish.ts b/web_services/management_frontend/src/languages/mutual/header/turkish.ts new file mode 100644 index 0000000..659956c --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/header/turkish.ts @@ -0,0 +1,5 @@ +const headerDefaultTr = { + selectedPage: "Seçili Sayfa", +}; + +export { headerDefaultTr }; diff --git a/web_services/management_frontend/src/languages/mutual/languageSelection/english.ts b/web_services/management_frontend/src/languages/mutual/languageSelection/english.ts new file mode 100644 index 0000000..beda5b8 --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/languageSelection/english.ts @@ -0,0 +1,7 @@ +const languageSelectionTranslationEn = { + title: "Language Selection", + english: "English", + turkish: "Turkish", +}; + +export { languageSelectionTranslationEn }; diff --git a/web_services/management_frontend/src/languages/mutual/languageSelection/index.ts b/web_services/management_frontend/src/languages/mutual/languageSelection/index.ts new file mode 100644 index 0000000..211ff40 --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/languageSelection/index.ts @@ -0,0 +1,7 @@ +import { languageSelectionTranslationEn } from "./english"; +import { languageSelectionTranslationTr } from "./turkish"; + +export const languageSelectionTranslation = { + en: languageSelectionTranslationEn, + tr: languageSelectionTranslationTr +} \ No newline at end of file diff --git a/web_services/management_frontend/src/languages/mutual/languageSelection/turkish.ts b/web_services/management_frontend/src/languages/mutual/languageSelection/turkish.ts new file mode 100644 index 0000000..d350721 --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/languageSelection/turkish.ts @@ -0,0 +1,7 @@ +const languageSelectionTranslationTr = { + title: "Dil Seçimi", + english: "İngilizce", + turkish: "Türkçe", +}; + +export { languageSelectionTranslationTr }; diff --git a/web_services/management_frontend/src/languages/mutual/menu/english.ts b/web_services/management_frontend/src/languages/mutual/menu/english.ts new file mode 100644 index 0000000..691dfa1 --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/menu/english.ts @@ -0,0 +1,8 @@ +const menuTranslationEn = { + "/management/account/something/something/something": "Account Third Layer", + "/management/account": "Account Second Layer", + "/management": "Management First Layer", +}; +const menuIndex = ["/application", "/services"]; + +export { menuTranslationEn, menuIndex }; diff --git a/web_services/management_frontend/src/languages/mutual/menu/index.ts b/web_services/management_frontend/src/languages/mutual/menu/index.ts new file mode 100644 index 0000000..df0b19e --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/menu/index.ts @@ -0,0 +1,7 @@ +import { menuTranslationEn } from "./english"; +import { menuTranslationTr } from "./turkish"; + +export const menuTranslation = { + en: menuTranslationEn, + tr: menuTranslationTr, +}; diff --git a/web_services/management_frontend/src/languages/mutual/menu/turkish.ts b/web_services/management_frontend/src/languages/mutual/menu/turkish.ts new file mode 100644 index 0000000..181ce69 --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/menu/turkish.ts @@ -0,0 +1,3 @@ +const menuTranslationTr = {}; + +export { menuTranslationTr }; diff --git a/web_services/management_frontend/src/languages/mutual/pagination/english.ts b/web_services/management_frontend/src/languages/mutual/pagination/english.ts new file mode 100644 index 0000000..540f3d7 --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/pagination/english.ts @@ -0,0 +1,5 @@ +const dashboardTranslationEn = { + title: "Dashboard Panel", +}; + +export { dashboardTranslationEn }; diff --git a/web_services/management_frontend/src/languages/mutual/pagination/index.ts b/web_services/management_frontend/src/languages/mutual/pagination/index.ts new file mode 100644 index 0000000..250eff2 --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/pagination/index.ts @@ -0,0 +1,7 @@ +import { dashboardTranslationEn } from "./english"; +import { dashboardTranslationTr } from "./turkish"; + +export const dashboardTranslation = { + en: dashboardTranslationEn, + tr: dashboardTranslationTr, +}; diff --git a/web_services/management_frontend/src/languages/mutual/pagination/turkish.ts b/web_services/management_frontend/src/languages/mutual/pagination/turkish.ts new file mode 100644 index 0000000..a7e112d --- /dev/null +++ b/web_services/management_frontend/src/languages/mutual/pagination/turkish.ts @@ -0,0 +1,5 @@ +const dashboardTranslationTr = { + title: "Yönetim Panosu", +}; + +export { dashboardTranslationTr }; diff --git a/web_services/management_frontend/src/layouts/dashboard/layout.tsx b/web_services/management_frontend/src/layouts/dashboard/layout.tsx index 0f54d34..54f68c0 100644 --- a/web_services/management_frontend/src/layouts/dashboard/layout.tsx +++ b/web_services/management_frontend/src/layouts/dashboard/layout.tsx @@ -1,27 +1,22 @@ 'use server'; import { FC } from "react"; -import { joinPageUrlFromLayersArray, retrieveLayersOfUrlFromParams } from "@/lib/menuGet"; -import { dynamicPagesIndex } from "@/languages/custom"; -import { dynamicPageMenuWithLayersGet, dynamicRetrieveMenuFlattenGet, langDynamicPagesGet, langGet } from "@/lib/langGet"; +import { langDynamicPagesGet, langGet } from "@/lib/langGet"; import { DashboardLayoutProps, ModeTypes } from "@/validations/mutual/dashboard/props"; +import { dynamicPagesIndex } from "@/languages/custom"; import HeaderComponent from "@/components/custom/header/component"; -import MenuComponent from "@/components/custom/menu/component"; +import MenuComponent from "@/components/custom/menu/single/component"; import ContentComponent from "@/components/custom/content/component"; import FooterComponent from "@/components/custom/footer/component"; +import { menuTranslation } from "@/languages/mutual/menu"; const DashboardLayout: FC = async ({ params, searchParams, lang }) => { - const layersItems = retrieveLayersOfUrlFromParams(params.page); - const activePageUrl = joinPageUrlFromLayersArray(layersItems.data); + const activePageUrl = `/${lang}/${params?.page?.join("/")}`; const mode = (searchParams?.mode as ModeTypes) || 'shortList'; - - const menuItems = await dynamicPageMenuWithLayersGet(lang); const translations = langGet(lang, langDynamicPagesGet(activePageUrl, dynamicPagesIndex)); - const menuTranslationsFlatten = dynamicRetrieveMenuFlattenGet(menuItems); - const headerProps = { translations: translations.header, lang, activePageUrl } - const menuProps = { lang, activePageUrl, menuTranslationsFlatten, menuItems } - const contentProps = { translations: translations.content, lang, activePageUrl, mode, isMulti: true } + const menuProps = { lang, activePageUrl, translations: menuTranslation[lang], menuItems: Object.keys(translations.menu) } + const contentProps = { translations: translations.content, lang, activePageUrl, mode, isMulti: false } return (
diff --git a/web_services/management_frontend/src/validations/mutual/dashboard/props.ts b/web_services/management_frontend/src/validations/mutual/dashboard/props.ts index 16057e5..0a6dda8 100644 --- a/web_services/management_frontend/src/validations/mutual/dashboard/props.ts +++ b/web_services/management_frontend/src/validations/mutual/dashboard/props.ts @@ -31,6 +31,13 @@ interface MenuProps { menuTranslationsFlatten: Record>; } +interface MenuSingleProps { + lang: LanguageTypes; + activePageUrl: string; + translations: Record; + menuItems: string[]; +} + interface FooterProps { translations: Record; } @@ -41,11 +48,19 @@ interface HeaderProps { activePageUrl: string; } +interface SingleLayerItemProps { + isActive: boolean; + innerText: string; + url: string; +} + export type { MaindasboardPageProps, DashboardLayoutProps, ContentProps, MenuProps, + SingleLayerItemProps, + MenuSingleProps, FooterProps, HeaderProps, ModeTypes,