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={
+
+
+
+ }
/>