From 19b370d89bc5ca0b56589dec2d18dd6a7da46514 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Sat, 7 Feb 2026 00:49:49 +0000 Subject: [PATCH] initial commit --- client/src/Pages/Account/TabPassword.tsx | 5 +++ client/src/Pages/Account/TabProfile.tsx | 44 +++++++++++++++++++ client/src/Pages/Account/TabTeam.tsx | 5 +++ client/src/Pages/Account/index.tsx | 39 ++++++++++++++++ .../src/Pages/Account/{index.jsx => old.jsx} | 0 client/src/Routes/index.jsx | 20 +++++++-- client/src/locales/en.json | 31 +++++++++++++ 7 files changed, 140 insertions(+), 4 deletions(-) create mode 100644 client/src/Pages/Account/TabPassword.tsx create mode 100644 client/src/Pages/Account/TabProfile.tsx create mode 100644 client/src/Pages/Account/TabTeam.tsx create mode 100644 client/src/Pages/Account/index.tsx rename client/src/Pages/Account/{index.jsx => old.jsx} (100%) diff --git a/client/src/Pages/Account/TabPassword.tsx b/client/src/Pages/Account/TabPassword.tsx new file mode 100644 index 000000000..0acecd35a --- /dev/null +++ b/client/src/Pages/Account/TabPassword.tsx @@ -0,0 +1,5 @@ +import { Box } from "@mui/material"; + +export const TabPassword = () => { + return {/* TODO: Implement TabPassword */}; +}; diff --git a/client/src/Pages/Account/TabProfile.tsx b/client/src/Pages/Account/TabProfile.tsx new file mode 100644 index 000000000..5cc21cb9a --- /dev/null +++ b/client/src/Pages/Account/TabProfile.tsx @@ -0,0 +1,44 @@ +import { Stack } from "@mui/material"; +import { useTranslation } from "react-i18next"; +import { ConfigBox } from "@/Components/v2/design-elements"; +import { TextField, Button } from "@/Components/v2/inputs"; +import { ImageUpload } from "@/Components/v2/inputs"; + +export const TabProfile = () => { + const { t } = useTranslation(); + + return ( + + + + + + } + /> + } + /> + + + ); +}; diff --git a/client/src/Pages/Account/TabTeam.tsx b/client/src/Pages/Account/TabTeam.tsx new file mode 100644 index 000000000..0babcad86 --- /dev/null +++ b/client/src/Pages/Account/TabTeam.tsx @@ -0,0 +1,5 @@ +import { Box } from "@mui/material"; + +export const TabTeam = () => { + return {/* TODO: Implement TabTeam */}; +}; diff --git a/client/src/Pages/Account/index.tsx b/client/src/Pages/Account/index.tsx new file mode 100644 index 000000000..b0fd6554e --- /dev/null +++ b/client/src/Pages/Account/index.tsx @@ -0,0 +1,39 @@ +import { BasePage, Tabs, Tab } from "@/Components/v2/design-elements"; +import { useState } from "react"; +import { useTranslation } from "react-i18next"; +import { TabProfile } from "./TabProfile"; +import { TabPassword } from "./TabPassword"; +import { TabTeam } from "./TabTeam"; + +interface AccountProps { + open?: "profile" | "password" | "team"; +} + +const TAB_MAP = { + profile: 0, + password: 1, + team: 2, +} as const; + +const Account = ({ open = "profile" }: AccountProps) => { + const { t } = useTranslation(); + const [activeTab, setActiveTab] = useState(TAB_MAP[open]); + + return ( + + setActiveTab(newValue)} + > + + + + + {activeTab === 0 && } + {activeTab === 1 && } + {activeTab === 2 && } + + ); +}; + +export default Account; diff --git a/client/src/Pages/Account/index.jsx b/client/src/Pages/Account/old.jsx similarity index 100% rename from client/src/Pages/Account/index.jsx rename to client/src/Pages/Account/old.jsx diff --git a/client/src/Routes/index.jsx b/client/src/Routes/index.jsx index 936258595..282a5db56 100644 --- a/client/src/Routes/index.jsx +++ b/client/src/Routes/index.jsx @@ -45,7 +45,7 @@ import Notifications from "../Pages/Notifications"; import CreateNotifications from "../Pages/Notifications/create"; // Settings -import Account from "../Pages/Account/index.jsx"; +import Account from "@/Pages/Account"; import EditUser from "../Pages/Account/EditUser/index.jsx"; import Settings from "../Pages/Settings"; @@ -328,15 +328,27 @@ const Routes = () => { /> } + element={ + + + + } /> } + element={ + + + + } /> } + element={ + + + + } />