Feat(Fix): SSH Keys-Expiry+Log; Department+Principal Link; CA Keys mgmt;

- Fix Login nav to /profile or /
This commit is contained in:
2026-02-28 23:35:32 +05:45
parent c32cb4757a
commit 62f767474b
12 changed files with 2850 additions and 236 deletions
+5
View File
@@ -12,6 +12,8 @@ import {
Layers,
GitBranch,
ScrollText,
Terminal,
ShieldCheck,
} from "lucide-react";
import { GatehouseLogo } from "@/components/branding/GatehouseLogo";
import { NavLink } from "@/components/NavLink";
@@ -33,6 +35,7 @@ import { cn } from "@/lib/utils";
const userNavItems = [
{ title: "Profile", url: "/profile", icon: User },
{ title: "Security", url: "/security", icon: Shield },
{ title: "SSH Keys", url: "/ssh-keys", icon: Terminal },
{ title: "Linked Accounts", url: "/linked-accounts", icon: Link2 },
{ title: "Activity", url: "/activity", icon: Activity },
];
@@ -48,6 +51,8 @@ const orgNavItems = [
const adminNavItems = [
{ title: "OIDC Clients", url: "/org/clients", icon: Key },
{ title: "Certificate Auth.", url: "/org/cas", icon: ShieldCheck },
// { title: "Users", url: "/admin/users", icon: Users },
{ title: "System Logs", url: "/admin/audit", icon: ScrollText },
];
+3 -7
View File
@@ -19,16 +19,12 @@ import { ComplianceBanner } from "@/components/auth/ComplianceBanner";
export function TopBar() {
const navigate = useNavigate();
const { user, isAuthenticated, mfaCompliance } = useAuth();
const { user, isAuthenticated, mfaCompliance, logout } = useAuth();
const [currentOrg, setCurrentOrg] = useState<Organization | null>(null);
// Use React Query hook for organizations with automatic caching and deduplication
const { data: organizations = [], isLoading: orgsLoading } = useOrganizations();
// Debug logging
console.log('[TopBar] organizations data:', organizations);
console.log('[TopBar] organizations is array:', Array.isArray(organizations));
// Ensure organizations is always an array (defensive check)
const organizationsArray = Array.isArray(organizations) ? organizations : [];
@@ -39,8 +35,8 @@ export function TopBar() {
}
}, [organizationsArray, currentOrg]);
const handleLogout = () => {
navigate("/login");
const handleLogout = async () => {
await logout();
};
const userInitials = user?.full_name