From e547d364a3bb6a77c4fe43ee4472dcadce42ce69 Mon Sep 17 00:00:00 2001 From: Art Berger Date: Fri, 13 Mar 2026 15:12:06 -0400 Subject: [PATCH] fix the sidebar nav Signed-off-by: Art Berger --- public/sitemap.xml | 223 +++++++++++++++--------------- src/app/docs/DocsLayoutClient.tsx | 34 ++++- src/config/navigation.json | 5 + 3 files changed, 148 insertions(+), 114 deletions(-) diff --git a/public/sitemap.xml b/public/sitemap.xml index 64d3b783..3ad840f4 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -2,756 +2,763 @@ https://kagent.dev/agents - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/blog - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/community - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/concepts/agents - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/concepts/architecture - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/concepts - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/concepts/tools - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/examples/a2a-agents - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/examples/a2a-byo - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/examples/agents-mcp - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/examples/crewai-byo - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/examples/discord-a2a - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/examples/documentation - 2026-02-16 + 2026-03-13 + weekly + 0.8 + + + + https://kagent.dev/docs/kagent/examples/human-in-the-loop + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/examples/langchain-byo - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/examples - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/examples/skills - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/examples/slack-a2a - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/first-agent - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/first-mcp-tool - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/local-development - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/getting-started - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/quickstart - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/getting-started/system-prompts - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/introduction/installation - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/introduction - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/introduction/what-is-kagent - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/observability/audit-prompts - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/observability/launch-ui - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/observability - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/observability/tracing - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/operations/debug - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/operations/operational-considerations - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/operations - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/operations/uninstall - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/operations/upgrade - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/api-ref - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-add-mcp - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-bug-report - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-build - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-completion - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-dashboard - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-deploy - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-get - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-help - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-init - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-install - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-invoke - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-mcp - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-run - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-uninstall - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli/kagent-version - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/cli - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/faq - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/helm - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/resources/release-notes - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/amazon-bedrock - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/anthropic - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/azure-openai - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/byo-openai - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/gemini - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/google-vertexai - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/ollama - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers/openai - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kagent/supported-providers - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/deploy/install-controller - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/deploy - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/deploy/server - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/develop/fastmcp-python - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/develop/mcp-go - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/develop - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/introduction - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/quickstart - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/reference/api-ref - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-add-tool - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-build - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-completion - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-deploy - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-help - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-init - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-install - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-run - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/reference/kmcp-secrets - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/reference - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs/kmcp/secrets - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/docs - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/enterprise - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/page.tsx - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/tools - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/agents/argo-rollouts-conversion-agent - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/agents/cilium-crd-agent - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/agents/helm-agent - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/agents/istio-agent - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/agents/k8s-agent - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/agents/kgateway-agent - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/agents/observability-agent - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/agents/promql-agent - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/tools/istio - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/tools/kubernetes - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/tools/prometheus - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/tools/documentation - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/tools/helm - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/tools/argo - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/tools/grafana - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/tools/other - 2026-02-16 + 2026-03-13 weekly 0.8 https://kagent.dev/tools/cilium - 2026-02-16 + 2026-03-13 weekly 0.8 diff --git a/src/app/docs/DocsLayoutClient.tsx b/src/app/docs/DocsLayoutClient.tsx index 87683e29..2f2835fa 100644 --- a/src/app/docs/DocsLayoutClient.tsx +++ b/src/app/docs/DocsLayoutClient.tsx @@ -1,5 +1,5 @@ 'use client' -import React, { useState } from "react"; +import React, { useState, useEffect } from "react"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { Button } from "@/components/ui/button"; @@ -21,14 +21,32 @@ interface DocsLayoutClientProps { } export default function DocsLayoutClient({ navigation, children }: DocsLayoutClientProps) { + const pathname = usePathname(); - function initializeExpandedSections(navigation: NavItem[]): { [key: string]: boolean } { + function initializeExpandedSections(navigation: NavItem[], currentPath: string): { [key: string]: boolean } { const initial: { [key: string]: boolean } = {}; + + // Helper function to check if path matches + const isActiveItem = (href: string) => currentPath === href || currentPath.startsWith(href + '/'); + + // Helper function to check if section contains active item + const containsActiveItem = (items?: NavItem[]): boolean => { + if (!items) return false; + return items.some(item => { + if (isActiveItem(item.href)) return true; + if (item.items) return containsActiveItem(item.items); + return false; + }); + }; + navigation.forEach(section => { - initial[section.title] = false; + // Expand section if it or its children contain the active page + initial[section.title] = isActiveItem(section.href) || containsActiveItem(section.items); + section.items?.forEach(item => { if (item.items && item.items.length > 0) { - initial[item.title] = false; + // Expand subsection if it or its children contain the active page + initial[item.title] = isActiveItem(item.href) || containsActiveItem(item.items); } }); }); @@ -36,11 +54,15 @@ export default function DocsLayoutClient({ navigation, children }: DocsLayoutCli } const [sidebarOpen, setSidebarOpen] = useState(false); - const pathname = usePathname(); const [expandedSections, setExpandedSections] = useState<{ [key: string]: boolean }>(() => - initializeExpandedSections(navigation) + initializeExpandedSections(navigation, pathname) ); + // Update expanded sections when pathname changes + useEffect(() => { + setExpandedSections(initializeExpandedSections(navigation, pathname)); + }, [pathname, navigation]); + const toggleSidebar = () => { setSidebarOpen(!sidebarOpen); }; diff --git a/src/config/navigation.json b/src/config/navigation.json index 98dcb2c6..2db06167 100644 --- a/src/config/navigation.json +++ b/src/config/navigation.json @@ -182,6 +182,11 @@ "title": "Skills", "href": "/docs/kagent/examples/skills", "description": "Learn how to add skills to your agents to guide their behavior and tool usage." + }, + { + "title": "Human-in-the-Loop", + "href": "/docs/kagent/examples/human-in-the-loop", + "description": "Build a Kubernetes-native AI agent that pauses and asks for your approval before taking destructive actions." } ] },