feat(docs, agents, risk): enhance documentation, API queries, and UI components

Updated the public documentation site with improved layout and accessibility, including new sections for client integration and admin guides. Enhanced API queries by adding 'active_only' and 'group_by' parameters for better data filtering in risk management. Refined UI components for agent management, ensuring consistent styling and improved user experience across the application. Added localization support for new documentation content in English and Nepali.
This commit is contained in:
2026-06-15 17:21:50 +08:00
parent 17335cb47a
commit 641c87ff50
107 changed files with 5114 additions and 943 deletions

View File

@@ -1,9 +1,12 @@
"use client";
import Link from "next/link";
import { usePathname } from "next/navigation";
import { useTranslation } from "react-i18next";
import { AdminLanguageSwitcher } from "@/components/admin/admin-language-switcher";
import { DocsAdminConsoleLink } from "@/components/docs/docs-admin-console-link";
import { DocsTopNav } from "@/components/docs/docs-top-nav";
import { cn } from "@/lib/utils";
type DocsShellProps = {
@@ -12,23 +15,28 @@ type DocsShellProps = {
};
export function DocsShell({ children, className }: DocsShellProps): React.ReactElement {
const { t } = useTranslation("integrationDocs");
const pathname = usePathname();
const isAdminDocs = pathname === "/docs/admin" || pathname.startsWith("/docs/admin/");
const namespace = isAdminDocs ? "adminDocs" : "integrationDocs";
const homeHref = isAdminDocs ? "/docs/admin" : "/docs/integration";
const { t } = useTranslation(namespace);
return (
<div className={cn("min-h-dvh bg-background text-foreground", className)}>
<header className="sticky top-0 z-40 border-b border-border/80 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80">
<div className="mx-auto flex h-14 max-w-6xl items-center justify-between gap-4 px-4 sm:px-6 lg:px-8">
<Link href="/docs/integration" className="truncate text-sm font-semibold tracking-tight">
{t("shell.title")}
</Link>
<div className="flex items-center gap-2">
<AdminLanguageSwitcher />
<div className={cn("docs-site min-h-dvh bg-[#f4f6f9] text-slate-900", className)}>
<header className="sticky top-0 z-40 border-b border-slate-200 bg-white/95 shadow-sm backdrop-blur supports-[backdrop-filter]:bg-white/90">
<div className="mx-auto flex h-[3.25rem] max-w-6xl items-center justify-between gap-3 px-4 sm:px-6 lg:gap-4 lg:px-8">
<div className="flex min-w-0 items-center gap-4">
<Link
href="/admin/login"
className="text-xs text-muted-foreground transition-colors hover:text-foreground"
href={homeHref}
className="truncate text-[15px] font-semibold tracking-tight text-slate-900"
>
{t("shell.admin")}
{t("shell.title")}
</Link>
<DocsTopNav />
</div>
<div className="flex shrink-0 items-center gap-2">
<AdminLanguageSwitcher />
<DocsAdminConsoleLink namespace={namespace} />
</div>
</div>
</header>
@@ -45,9 +53,11 @@ export function DocsBody({
children: React.ReactNode;
}): React.ReactElement {
return (
<div className="mx-auto flex w-full max-w-6xl flex-col gap-6 px-4 py-6 sm:px-6 lg:flex-row lg:gap-8 lg:px-8 lg:py-8">
<div className="mx-auto flex w-full max-w-6xl flex-col gap-8 px-4 py-8 sm:px-6 lg:flex-row lg:items-start lg:gap-10 lg:px-8 lg:py-10 lg:[--docs-sticky-top:calc(3.25rem+2.5rem)]">
{sidebar}
<main className="min-w-0 flex-1 pb-12">{children}</main>
<main className="min-w-0 flex-1 rounded-xl border border-slate-200/80 bg-white p-6 shadow-sm sm:p-8 lg:pb-12">
{children}
</main>
</div>
);
}