"use client"; import { useState } from "react"; import { Check, Copy, MessageSquare, Bot } from "lucide-react"; import { useTranslations } from "next-intl"; export function InstallBanner() { const t = useTranslations("installBanner"); const tGuide = useTranslations("skillGuide"); const [copied, setCopied] = useState(false); const prompt = t("prompt"); const handleCopy = async () => { try { await navigator.clipboard.writeText(prompt); setCopied(true); setTimeout(() => setCopied(false), 2000); } catch { // fallback: select the text } }; return (
{/* Header */}
🦞

{t("title")}

{t("subtitle")}

{/* Human prompt card */} {/* AI-crawlable installation guide (collapsed for humans, fully in DOM for crawlers) */}
{tGuide("summaryLabel")}

{tGuide("whatTitle")}

{tGuide("whatDescription")}

{tGuide("installTitle")}

  1. {tGuide("step1")}
  2. {tGuide("step2")}
  3. {tGuide("step3")}
  4. {tGuide("step4")}

{tGuide("commandTitle")}

clawhub install openclaw-reporter

{tGuide("dataTitle")}

  • {tGuide("data1")}
  • {tGuide("data2")}
  • {tGuide("data3")}
  • {tGuide("data4")}

{tGuide("dataNever")}

{tGuide("permissionsTitle")}

  • {tGuide("perm1")}
  • {tGuide("perm2")}
  • {tGuide("perm3")}
); }