{
description={t("account_settings.activity.description")}
/>
diff --git a/web/app/(all)/[workspaceSlug]/(settings)/settings/account/api-tokens/page.tsx b/web/app/(all)/[workspaceSlug]/(settings)/settings/account/api-tokens/page.tsx
index 10461db071..cbbdb3a553 100644
--- a/web/app/(all)/[workspaceSlug]/(settings)/settings/account/api-tokens/page.tsx
+++ b/web/app/(all)/[workspaceSlug]/(settings)/settings/account/api-tokens/page.tsx
@@ -88,10 +88,10 @@ const ApiTokensPage = observer(() => {
/>
<>>;
diff --git a/web/core/components/estimates/empty-screen.tsx b/web/core/components/estimates/empty-screen.tsx
index 73acce27f8..83bc30a0bf 100644
--- a/web/core/components/estimates/empty-screen.tsx
+++ b/web/core/components/estimates/empty-screen.tsx
@@ -20,10 +20,10 @@ export const EstimateEmptyScreen: FC = (props) => {
const resolvedPath = `/empty-state/project-settings/estimates-${resolvedTheme === "light" ? "light" : "dark"}.png`;
return (
{
projectLabels.length === 0 && !showLabelForm ? (
) : (
diff --git a/web/core/components/settings/header.tsx b/web/core/components/settings/header.tsx
index 586fa9181f..0dbee0995b 100644
--- a/web/core/components/settings/header.tsx
+++ b/web/core/components/settings/header.tsx
@@ -32,7 +32,7 @@ export const SettingsHeader = observer(() => {
getButtonStyling("neutral-primary", "sm"),
"md:absolute left-2 top-9 group flex gap-2 text-custom-text-300 mb-4 border border-transparent w-fit rounded-lg ",
"h-6 w-6 rounded-lg p-1 bg-custom-background-100 border-custom-border-200 ",
- isScrolled ? "-mt-1 " : "hidden p-0 overflow-hidden items-center pr-2 border-none"
+ isScrolled ? "-mt-2 " : "hidden p-0 overflow-hidden items-center pr-2 border-none"
)}
>
diff --git a/web/core/components/settings/heading.tsx b/web/core/components/settings/heading.tsx
index 7d6655de37..40405a1ec7 100644
--- a/web/core/components/settings/heading.tsx
+++ b/web/core/components/settings/heading.tsx
@@ -5,18 +5,27 @@ type Props = {
description?: string;
appendToRight?: React.ReactNode;
showButton?: boolean;
+ customButton?: React.ReactNode;
button?: {
label: string;
onClick: () => void;
};
};
-export const SettingsHeading = ({ title, description, button, appendToRight, showButton = true }: Props) => (
+export const SettingsHeading = ({
+ title,
+ description,
+ button,
+ appendToRight,
+ customButton,
+ showButton = true,
+}: Props) => (
{typeof title === "string" ?
{title}
: title}
{description &&
{description}
}
+ {showButton && customButton}
{button && showButton && (
-
+
);
-};
+});
diff --git a/web/core/components/settings/sidebar/nav-item.tsx b/web/core/components/settings/sidebar/nav-item.tsx
index a28a8904c8..d06930ef57 100644
--- a/web/core/components/settings/sidebar/nav-item.tsx
+++ b/web/core/components/settings/sidebar/nav-item.tsx
@@ -1,4 +1,5 @@
import React, { useState } from "react";
+import { observer } from "mobx-react";
import Link from "next/link";
import { useParams } from "next/navigation";
import { Disclosure } from "@headlessui/react";
@@ -23,7 +24,7 @@ export type TSettingsSidebarNavItemProps = {
renderChildren?: (key: string) => React.ReactNode;
};
-const SettingsSidebarNavItem = (props: TSettingsSidebarNavItemProps) => {
+const SettingsSidebarNavItem = observer((props: TSettingsSidebarNavItemProps) => {
const { workspaceSlug, setting, isActive, actionIcons, appendItemsToTitle, renderChildren } = props;
// router
const { projectId } = useParams();
@@ -88,6 +89,6 @@ const SettingsSidebarNavItem = (props: TSettingsSidebarNavItemProps) => {
)}
);
-};
+});
export default SettingsSidebarNavItem;
diff --git a/web/core/components/workspace/settings/members-list-item.tsx b/web/core/components/workspace/settings/members-list-item.tsx
index 28b742f086..31a462c753 100644
--- a/web/core/components/workspace/settings/members-list-item.tsx
+++ b/web/core/components/workspace/settings/members-list-item.tsx
@@ -87,7 +87,7 @@ export const WorkspaceMembersListItem: FC