diff --git a/frontend/app/[locale]/target/[id]/layout.tsx b/frontend/app/[locale]/target/[id]/layout.tsx index f767b518..0e5d720f 100644 --- a/frontend/app/[locale]/target/[id]/layout.tsx +++ b/frontend/app/[locale]/target/[id]/layout.tsx @@ -3,10 +3,16 @@ import React from "react" import { usePathname, useParams } from "next/navigation" import Link from "next/link" -import { Target, LayoutDashboard, Package, FolderSearch, Image, ShieldAlert, Settings } from "lucide-react" +import { Target, LayoutDashboard, Package, FolderSearch, Image, ShieldAlert, Settings, HelpCircle } from "lucide-react" import { Skeleton } from "@/components/ui/skeleton" import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs" import { Badge } from "@/components/ui/badge" +import { + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from "@/components/ui/tooltip" import { useTarget } from "@/hooks/use-targets" import { useTranslations } from "next-intl" @@ -160,67 +166,82 @@ export default function TargetLayout({ {/* Primary navigation */} -
- - - - - - {t("tabs.overview")} - - - - - - {t("tabs.assets")} - {totalAssets > 0 && ( - - {totalAssets} - - )} - - - - - - {t("tabs.directories")} - {counts.directories > 0 && ( - - {counts.directories} - - )} - - - - - - {t("tabs.screenshots")} - {counts.screenshots > 0 && ( - - {counts.screenshots} - - )} - - - - - - {t("tabs.vulnerabilities")} - {counts.vulnerabilities > 0 && ( - - {counts.vulnerabilities} - - )} - - - - - - {t("tabs.settings")} - - - - +
+
+ + + + + + {t("tabs.overview")} + + + + + + {t("tabs.assets")} + {totalAssets > 0 && ( + + {totalAssets} + + )} + + + + + + {t("tabs.directories")} + {counts.directories > 0 && ( + + {counts.directories} + + )} + + + + + + {t("tabs.screenshots")} + {counts.screenshots > 0 && ( + + {counts.screenshots} + + )} + + + + + + {t("tabs.vulnerabilities")} + {counts.vulnerabilities > 0 && ( + + {counts.vulnerabilities} + + )} + + + + + + {t("tabs.settings")} + + + + + + {getPrimaryTab() === "directories" && ( + + + + + + + {t("directoriesHelp")} + + + + )} +
{/* Secondary navigation (only for assets) */} diff --git a/frontend/messages/en.json b/frontend/messages/en.json index 714e5873..22113a57 100644 --- a/frontend/messages/en.json +++ b/frontend/messages/en.json @@ -2172,7 +2172,7 @@ "urls": "URLs", "directories": "Directories" }, - "directoriesHelp": "Results from directory scanning (e.g. ffuf/dirsearch)", + "directoriesHelp": "Results discovered during the directory scanning phase", "settings": { "loadError": "Failed to load settings", "blacklist": { diff --git a/frontend/messages/zh.json b/frontend/messages/zh.json index c294c8ce..538e0471 100644 --- a/frontend/messages/zh.json +++ b/frontend/messages/zh.json @@ -2186,7 +2186,7 @@ "urls": "URL", "directories": "目录" }, - "directoriesHelp": "由目录扫描(如 ffuf/dirsearch)发现的路径结果", + "directoriesHelp": "由目录扫描阶段发现的结果", "settings": { "loadError": "加载设置失败", "blacklist": {