diff --git a/src/Components/Sidebar/index.jsx b/src/Components/Sidebar/index.jsx
index ee0071d4f..bc915b371 100644
--- a/src/Components/Sidebar/index.jsx
+++ b/src/Components/Sidebar/index.jsx
@@ -63,35 +63,29 @@ const menu = [
{ name: "Status pages", path: "status", icon: },
{ name: "Maintenance", path: "maintenance", icon: },
- // { name: "Integrations", path: "integrations", icon: },
- {
- name: "Account",
- icon: ,
- nested: [
- { name: "Profile", path: "account/profile", icon: },
- { name: "Password", path: "account/password", icon: },
- { name: "Team", path: "account/team", icon: },
- ],
- },
+ { name: "Integrations", path: "integrations", icon: },
{
name: "Settings",
icon: ,
path: "settings",
},
+];
+
+const otherMenuItems = [
+ { name: "Support", path: "support", icon: },
{
- name: "Other",
- icon: ,
- nested: [
- { name: "Support", path: "support", icon: },
- {
- name: "Discussions",
- path: "discussions",
- icon: ,
- },
- { name: "Docs", path: "docs", icon: },
- { name: "Changelog", path: "changelog", icon: },
- ],
+ name: "Discussions",
+ path: "discussions",
+ icon: ,
},
+ { name: "Docs", path: "docs", icon: },
+ { name: "Changelog", path: "changelog", icon: },
+];
+
+const accountMenuItems = [
+ { name: "Profile", path: "account/profile", icon: },
+ { name: "Password", path: "account/password", icon: },
+ { name: "Team", path: "account/team", icon: },
];
/* TODO this could be a key in nested Path would be the link */
@@ -133,12 +127,38 @@ function Sidebar() {
(state) => state.ui.distributedUptimeEnabled
);
- const accountMenuItem = menu.find((item) => item.name === "Account");
- if (user.role?.includes("demo") && accountMenuItem) {
- accountMenuItem.nested = accountMenuItem.nested.filter((item) => {
- return item.name !== "Password";
- });
- }
+ const renderAccountMenuItems = () => {
+ let filteredAccountMenuItems = [...accountMenuItems];
+
+ // If the user is in demo mode, remove the "Password" option
+ if (user.role?.includes("demo")) {
+ filteredAccountMenuItems = filteredAccountMenuItems.filter(
+ (item) => item.name !== "Password"
+ );
+ }
+
+ // If the user is NOT a superadmin, remove the "Team" option
+ if (user.role && !user.role.includes("superadmin")) {
+ filteredAccountMenuItems = filteredAccountMenuItems.filter(
+ (item) => item.name !== "Team"
+ );
+ }
+
+ return filteredAccountMenuItems.map((item) => (
+
+ ));
+ };
const openPopup = (event, id) => {
setAnchorEl(event.currentTarget);
@@ -260,7 +280,6 @@ function Sidebar() {
>
{collapsed ? : }
-
{/* TODO Alignment done using padding. Use single source of truth to that*/}
-
+
+ {otherMenuItems.map((item) => {
+ return item.path ? (
+
+ {
+ const url = URL_MAP[item.path];
+ if (url) {
+ window.open(url, "_blank", "noreferrer");
+ } else {
+ navigate(`/${item.path}`);
+ }
+ }}
+ sx={{
+ height: "37px",
+ gap: theme.spacing(4),
+ borderRadius: theme.shape.borderRadius,
+ px: theme.spacing(4),
+ }}
+ >
+ {item.icon}
+ {item.name} {" "}
+
+
+ ) : null;
+ })}
+
+
{collapsed && (
-