diff --git a/frontend/src/layouts/OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx b/frontend/src/layouts/OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx
index c1c4297ca..95e254ccb 100644
--- a/frontend/src/layouts/OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx
+++ b/frontend/src/layouts/OrganizationLayout/components/MinimizedOrgSidebar/MinimizedOrgSidebar.tsx
@@ -30,6 +30,8 @@ import {
DropdownMenuItem,
DropdownMenuLabel,
DropdownMenuTrigger,
+ Modal,
+ ModalContent,
Tooltip
} from "@app/components/v2";
import { envConfig } from "@app/config/env";
@@ -78,6 +80,11 @@ export const INFISICAL_SUPPORT_OPTIONS = [
,
"Email Support",
"mailto:support@infisical.com"
+ ],
+ [
+ ,
+ "Instance Admins",
+ "server-admins"
]
];
@@ -90,7 +97,7 @@ export const MinimizedOrgSidebar = () => {
const [openSupport, setOpenSupport] = useState(false);
const [openUser, setOpenUser] = useState(false);
const [openOrg, setOpenOrg] = useState(false);
- const [openAdmins, setOpenAdmins] = useState(false);
+ const [showAdminsModal, setShowAdminsModal] = useState(false);
const { user } = useUser();
const { mutateAsync } = useGetOrgTrialUrl();
@@ -394,31 +401,6 @@ export const MinimizedOrgSidebar = () => {
: "mb-4"
} flex w-full cursor-default flex-col items-center px-1 text-sm text-mineshaft-400`}
>
-
- setOpenAdmins(true)}
- onMouseLeave={() => setOpenAdmins(false)}
- asChild
- >
-
-
- Admins
-
-
-
- setOpenAdmins(true)}
- onMouseLeave={() => setOpenAdmins(false)}
- align="start"
- side="right"
- className="mb-2 w-[60vh] p-1"
- >
- Server Administrators
-
-
-
-
-
setOpenSupport(true)}
@@ -439,17 +421,30 @@ export const MinimizedOrgSidebar = () => {
>
{INFISICAL_SUPPORT_OPTIONS.map(([icon, text, url]) => (
-
-
-
+ {url === "server-admins" ? (
+
+ ) : (
+
+
+
+ )}
))}
{envConfig.PLATFORM_VERSION && (
@@ -567,6 +562,17 @@ export const MinimizedOrgSidebar = () => {
+
+
+
+
+
+
+
handlePopUpToggle("createOrg", false)}
diff --git a/frontend/src/layouts/OrganizationLayout/components/ServerAdminsPanel/ServerAdminsPanel.tsx b/frontend/src/layouts/OrganizationLayout/components/ServerAdminsPanel/ServerAdminsPanel.tsx
index 69eecec40..fed2a5a8b 100644
--- a/frontend/src/layouts/OrganizationLayout/components/ServerAdminsPanel/ServerAdminsPanel.tsx
+++ b/frontend/src/layouts/OrganizationLayout/components/ServerAdminsPanel/ServerAdminsPanel.tsx
@@ -37,7 +37,7 @@ export const ServerAdminsPanel = () => {
const isEmpty = !isPending && (!adminUsers || adminUsers.length === 0);
return (
-
+
{
className="w-full"
/>
-
-
-
-
+
+
+
+
| Name |
Email |
-
+
{isPending && }
{!isPending &&
adminUsers?.map(({ user }) => {
@@ -65,9 +65,9 @@ export const ServerAdminsPanel = () => {
? `${user.firstName} ${user.lastName}`
: user.username;
return (
-
- | {name} |
- {user.email} |
+
+ | {name} |
+ {user.email} |
);
})}
diff --git a/frontend/src/pages/admin/OverviewPage/components/UserPanel.tsx b/frontend/src/pages/admin/OverviewPage/components/UserPanel.tsx
index 9f6524cf7..6654439de 100644
--- a/frontend/src/pages/admin/OverviewPage/components/UserPanel.tsx
+++ b/frontend/src/pages/admin/OverviewPage/components/UserPanel.tsx
@@ -4,7 +4,8 @@ import {
faEllipsis,
faFilter,
faMagnifyingGlass,
- faUsers
+ faUsers,
+ faUserShield
} from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { twMerge } from "tailwind-merge";
@@ -23,7 +24,6 @@ import {
EmptyState,
IconButton,
Input,
- Switch,
Table,
TableContainer,
TableSkeleton,
@@ -97,24 +97,19 @@ const UserPanelTable = ({
-
- Filter Users
+
+ Filter By
{
e.preventDefault();
setAdminsOnly(!adminsOnly);
}}
- icon={adminsOnly && }
+ icon={adminsOnly && }
iconPos="right"
>
-
-
Admins Only
-
setAdminsOnly(checked)}
- className="data-[state=checked]:bg-primary-400"
- />
+
+
+ Server Admins