feat: migrate api key management to dedicated super admin page

- Extracted API Key generation and management from UserProfile to a new /super-admin/api-keys route.

- Added cross-tenant selection in the new ApiKeys page so Super Admins can manage integrations for any organization.
This commit is contained in:
Cauê Faleiros
2026-03-16 14:44:16 -03:00
parent ef6d1582b3
commit fbf3edb7a1
4 changed files with 206 additions and 156 deletions

View File

@@ -3,7 +3,7 @@ import { NavLink, useLocation, useNavigate } from 'react-router-dom';
import {
LayoutDashboard, Users, UserCircle, Bell, Search, Menu, X, LogOut,
Hexagon, Settings, Building2, Sun, Moon, Loader2, Layers,
ChevronLeft, ChevronRight
ChevronLeft, ChevronRight, Key
} from 'lucide-react';
import {
getAttendances, getUsers, getUserById, logout, searchGlobal,
@@ -249,14 +249,14 @@ export const Layout: React.FC<{ children: React.ReactNode }> = ({ children }) =>
<>
{!isSidebarCollapsed && (
<div className="pt-2 pb-2 px-4 text-[10px] font-bold text-zinc-400 dark:text-dark-muted uppercase tracking-widest whitespace-nowrap">
Super Admin
Super Admin
</div>
)}
<SidebarItem to="/super-admin" icon={Building2} label="Organizações" collapsed={isSidebarCollapsed} />
<SidebarItem to="/admin/users" icon={Users} label="Usuários Globais" collapsed={isSidebarCollapsed} />
<SidebarItem to="/super-admin/api-keys" icon={Key} label="Integrações (API)" collapsed={isSidebarCollapsed} />
</>
)}
</nav>
)} </nav>
{/* User Profile Mini - Now Clickable to Profile */}
<div className="p-3 border-t border-zinc-100 dark:border-dark-border space-y-3 shrink-0">