diff --git a/web/app/[workspaceSlug]/(projects)/settings/mobile-header-tabs.tsx b/web/app/[workspaceSlug]/(projects)/settings/mobile-header-tabs.tsx
index 5cbcce6534a..a672cc2ca4b 100644
--- a/web/app/[workspaceSlug]/(projects)/settings/mobile-header-tabs.tsx
+++ b/web/app/[workspaceSlug]/(projects)/settings/mobile-header-tabs.tsx
@@ -1,28 +1,44 @@
import { useParams, usePathname } from "next/navigation";
+// constants
+import { EUserWorkspaceRoles } from "@/constants/workspace";
// hooks
+import { useUser } from "@/hooks/store";
import { useAppRouter } from "@/hooks/use-app-router";
// plane web constants
import { WORKSPACE_SETTINGS_LINKS } from "@/plane-web/constants/workspace";
+// plane web helpers
+import { shouldRenderSettingLink } from "@/plane-web/helpers/workspace.helper";
export const MobileWorkspaceSettingsTabs = () => {
const router = useAppRouter();
const { workspaceSlug } = useParams();
const pathname = usePathname();
+ // mobx store
+ const {
+ membership: { currentWorkspaceRole },
+ } = useUser();
+
+ // derived values
+ const workspaceMemberInfo = currentWorkspaceRole || EUserWorkspaceRoles.GUEST;
+
return (
- {WORKSPACE_SETTINGS_LINKS.map((item, index) => (
-
router.push(`/${workspaceSlug}${item.href}`)}
- >
- {item.label}
-
- ))}
+ {WORKSPACE_SETTINGS_LINKS.map(
+ (item, index) =>
+ shouldRenderSettingLink(item.key) &&
+ workspaceMemberInfo >= item.access && (
+
router.push(`/${workspaceSlug}${item.href}`)}
+ >
+ {item.label}
+
+ )
+ )}
);
};
diff --git a/web/app/[workspaceSlug]/(projects)/settings/sidebar.tsx b/web/app/[workspaceSlug]/(projects)/settings/sidebar.tsx
index 0dc206f2b0f..9572d6519b7 100644
--- a/web/app/[workspaceSlug]/(projects)/settings/sidebar.tsx
+++ b/web/app/[workspaceSlug]/(projects)/settings/sidebar.tsx
@@ -12,6 +12,8 @@ import { EUserWorkspaceRoles } from "@/constants/workspace";
import { useUser } from "@/hooks/store";
// plane web constants
import { WORKSPACE_SETTINGS_LINKS } from "@/plane-web/constants/workspace";
+// plane web helpers
+import { shouldRenderSettingLink } from "@/plane-web/helpers/workspace.helper";
export const WorkspaceSettingsSidebar = observer(() => {
// router
@@ -22,6 +24,7 @@ export const WorkspaceSettingsSidebar = observer(() => {
membership: { currentWorkspaceRole },
} = useUser();
+ // derived values
const workspaceMemberInfo = currentWorkspaceRole || EUserWorkspaceRoles.GUEST;
return (
@@ -31,6 +34,7 @@ export const WorkspaceSettingsSidebar = observer(() => {
{WORKSPACE_SETTINGS_LINKS.map(
(link) =>
+ shouldRenderSettingLink(link.key) &&
workspaceMemberInfo >= link.access && (
true;
diff --git a/web/core/components/command-palette/actions/workspace-settings-actions.tsx b/web/core/components/command-palette/actions/workspace-settings-actions.tsx
index 109257ed133..c2094d296c1 100644
--- a/web/core/components/command-palette/actions/workspace-settings-actions.tsx
+++ b/web/core/components/command-palette/actions/workspace-settings-actions.tsx
@@ -11,6 +11,8 @@ import { useUser } from "@/hooks/store";
import { useAppRouter } from "@/hooks/use-app-router";
// plane wev constants
import { WORKSPACE_SETTINGS_LINKS } from "@/plane-web/constants/workspace";
+// plane web helpers
+import { shouldRenderSettingLink } from "@/plane-web/helpers/workspace.helper";
type Props = {
closePalette: () => void;
@@ -38,7 +40,8 @@ export const CommandPaletteWorkspaceSettingsActions: React.FC = (props) =
<>
{WORKSPACE_SETTINGS_LINKS.map(
(setting) =>
- workspaceMemberInfo >= setting.access && (
+ workspaceMemberInfo >= setting.access &&
+ shouldRenderSettingLink(setting.key) && (
redirect(`/${workspaceSlug}${setting.href}`)}
diff --git a/web/core/lib/store-context.tsx b/web/core/lib/store-context.tsx
index cbee8b2dac6..f06dfb4d838 100644
--- a/web/core/lib/store-context.tsx
+++ b/web/core/lib/store-context.tsx
@@ -15,7 +15,6 @@ const initializeStore = () => {
return newRootStore;
};
-export const StoreProvider = ({ children }: { children: ReactElement }) => {
- const store = initializeStore();
- return {children};
-};
+export const store = initializeStore();
+
+export const StoreProvider = ({ children }: { children: ReactElement }) => {children};
diff --git a/web/ee/helpers/workspace.helper.ts b/web/ee/helpers/workspace.helper.ts
new file mode 100644
index 00000000000..731cd07dc4b
--- /dev/null
+++ b/web/ee/helpers/workspace.helper.ts
@@ -0,0 +1 @@
+export * from "ce/helpers/workspace.helper";