diff --git a/web/app/profile/activity/page.tsx b/web/app/profile/activity/page.tsx
index ad70c7df8f..afc9b29bf8 100644
--- a/web/app/profile/activity/page.tsx
+++ b/web/app/profile/activity/page.tsx
@@ -6,9 +6,12 @@ import { observer } from "mobx-react";
import { Button } from "@plane/ui";
// components
import { PageHead } from "@/components/core";
-import { SidebarHamburgerToggle } from "@/components/core/sidebar";
import { EmptyState } from "@/components/empty-state";
-import { ProfileActivityListPage } from "@/components/profile";
+import {
+ ProfileActivityListPage,
+ ProfileSettingContentHeader,
+ ProfileSettingContentWrapper,
+} from "@/components/profile";
// constants
import { EmptyStateType } from "@/constants/empty-state";
@@ -51,22 +54,17 @@ const ProfileActivityPage = observer(() => {
return (
<>
-
-
-
-
Activity
-
-
- {activityPages}
- {isLoadMoreVisible && (
-
-
-
- )}
-
-
+
+
+ {activityPages}
+ {isLoadMoreVisible && (
+
+
+
+ )}
+
>
);
});
diff --git a/web/app/profile/appearance/page.tsx b/web/app/profile/appearance/page.tsx
index e34fe8cdd7..4a4c85d2f1 100644
--- a/web/app/profile/appearance/page.tsx
+++ b/web/app/profile/appearance/page.tsx
@@ -7,7 +7,8 @@ import { useTheme } from "next-themes";
import { setPromiseToast } from "@plane/ui";
// components
import { LogoSpinner } from "@/components/common";
-import { CustomThemeSelector, ThemeSwitch, PageHead, SidebarHamburgerToggle } from "@/components/core";
+import { CustomThemeSelector, ThemeSwitch, PageHead } from "@/components/core";
+import { ProfileSettingContentHeader, ProfileSettingContentWrapper } from "@/components/profile";
// constants
import { I_THEME_OPTION, THEME_OPTIONS } from "@/constants/themes";
// hooks
@@ -50,11 +51,8 @@ const ProfileAppearancePage = observer(() => {
<>
{userProfile ? (
-
-
-
-
Appearance
-
+
+
Theme
@@ -65,7 +63,7 @@ const ProfileAppearancePage = observer(() => {
{userProfile?.theme?.theme === "custom" && }
-
+
) : (
@@ -75,4 +73,4 @@ const ProfileAppearancePage = observer(() => {
);
});
-export default ProfileAppearancePage;
\ No newline at end of file
+export default ProfileAppearancePage;
diff --git a/web/app/profile/notifications/page.tsx b/web/app/profile/notifications/page.tsx
index 76f1bf3d6a..f6bb1e4e51 100644
--- a/web/app/profile/notifications/page.tsx
+++ b/web/app/profile/notifications/page.tsx
@@ -1,17 +1,14 @@
"use client";
import useSWR from "swr";
-// layouts
-import { PageHead, SidebarHamburgerToggle } from "@/components/core";
+// components
+import { PageHead } from "@/components/core";
+import { ProfileSettingContentHeader, ProfileSettingContentWrapper } from "@/components/profile";
import { EmailNotificationForm } from "@/components/profile/notification";
import { EmailSettingsLoader } from "@/components/ui";
-// ui
-// components
// services
import { UserService } from "@/services/user.service";
-// type
-// services
const userService = new UserService();
export default function ProfileNotificationPage() {
@@ -27,18 +24,13 @@ export default function ProfileNotificationPage() {
return (
<>
-
-
-
-
-
Email notifications
-
- Stay in the loop on Issues you are subscribed to. Enable this to get notified.
-
-
-
+
+
-
+
>
);
}
diff --git a/web/app/profile/page.tsx b/web/app/profile/page.tsx
index 66a2a7b54f..c0eba78e7d 100644
--- a/web/app/profile/page.tsx
+++ b/web/app/profile/page.tsx
@@ -17,8 +17,8 @@ import { ImagePickerPopover, UserImageUploadModal, PageHead } from "@/components
// ui
// icons
// components
-import { SidebarHamburgerToggle } from "@/components/core/sidebar";
// constants
+import { ProfileSettingContentWrapper } from "@/components/profile";
import { TIME_ZONES } from "@/constants/timezones";
import { USER_ROLES } from "@/constants/workspace";
// hooks
@@ -137,322 +137,309 @@ const ProfileSettingsPage = observer(() => {
return (
<>
-
-
-
-
-
-
(
- setIsImageUploadModalOpen(false)}
- isRemoving={isRemoving}
- handleDelete={() => handleDelete(currentUser?.avatar, true)}
- onSuccess={(url) => {
- onChange(url);
- handleSubmit(onSubmit)();
- setIsImageUploadModalOpen(false);
- }}
- value={value && value.trim() !== "" ? value : null}
+
+ (
+ setIsImageUploadModalOpen(false)}
+ isRemoving={isRemoving}
+ handleDelete={() => handleDelete(currentUser?.avatar, true)}
+ onSuccess={(url) => {
+ onChange(url);
+ handleSubmit(onSubmit)();
+ setIsImageUploadModalOpen(false);
+ }}
+ value={value && value.trim() !== "" ? value : null}
+ />
+ )}
+ />
+ setDeactivateAccountModal(false)} />
+