Files
page-agent/packages/website/src/pages/home/OneMoreThingSection.tsx
2026-03-22 03:21:33 +08:00

115 lines
4.8 KiB
TypeScript

import { ExternalLink } from 'lucide-react'
import { siGooglechrome } from 'simple-icons'
import { Link } from 'wouter'
import { BlurFade } from '../../components/ui/blur-fade'
import { MagicCard } from '../../components/ui/magic-card'
import { useLanguage } from '../../i18n/context'
export default function OneMoreThingSection() {
const { isZh } = useLanguage()
return (
<section className="px-6 py-14" aria-labelledby="one-more-thing-heading">
<div className="max-w-4xl mx-auto text-center">
<BlurFade inView>
<h2
id="one-more-thing-heading"
className="text-4xl lg:text-5xl font-bold mb-6 bg-linear-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent"
>
One More Thing
</h2>
<p className="text-xl text-gray-600 dark:text-gray-300 mb-4 max-w-2xl mx-auto">
{isZh
? '想要多页面控制?试试可选的浏览器扩展。'
: 'Need multi-page control? Try the optional browser extension.'}
</p>
<p className="text-sm text-gray-500 dark:text-gray-400 mb-12 max-w-2xl mx-auto">
{'* '}
{isZh
? 'PageAgent.js 本身无需任何扩展即可工作,扩展是额外的能力增强。'
: 'PageAgent.js works without any extension — this is a power-up, not a dependency.'}
</p>
</BlurFade>
<div className="flex flex-col sm:flex-row items-center justify-center gap-4 mb-12">
<a
href="https://chromewebstore.google.com/detail/page-agent-ext/akldabonmimlicnjlflnapfeklbfemhj"
target="_blank"
rel="noopener noreferrer"
className="group inline-flex items-center gap-3 px-8 py-4 bg-linear-to-r from-blue-600 to-blue-700 hover:from-blue-700 hover:to-blue-800 text-white font-medium rounded-2xl shadow-lg hover:shadow-xl transition-all duration-300 hover:scale-105"
>
<img
src="https://img.alicdn.com/imgextra/i3/O1CN01JpW0Vo1sR3FpiZKFM_!!6000000005762-55-tps-192-192.svg"
alt="Chrome Web Store"
className="w-7 h-7"
/>
<span>{isZh ? '从 Chrome 应用商店安装' : 'Install from Chrome Web Store'}</span>
<ExternalLink className="w-4 h-4 opacity-50 group-hover:opacity-100 transition-opacity" />
</a>
<Link
href="/docs/features/chrome-extension"
className="inline-flex items-center gap-3 px-8 py-4 bg-gray-100 dark:bg-gray-700 hover:bg-gray-200 dark:hover:bg-gray-600 text-gray-900 dark:text-white font-medium rounded-2xl transition-all duration-300 hover:scale-105"
>
<svg className="w-5 h-5" viewBox="0 0 24 24" aria-hidden="true">
<path d={siGooglechrome.path} fill="currentColor" />
</svg>
<span>{isZh ? '查看文档' : 'Read the Docs'}</span>
</Link>
</div>
<div className="mb-10 rounded-2xl border border-blue-200/70 dark:border-blue-800/70 bg-linear-to-r from-blue-50 to-white dark:from-blue-950/30 dark:to-gray-900 px-5 py-4 max-w-3xl mx-auto text-left sm:text-center">
<p className="text-sm text-gray-700 dark:text-gray-300 leading-7">
{isZh
? '从 Claude Desktop、Copilot 或其他本地 Agent 直接发起浏览器任务?'
: 'Using Claude Desktop, Copilot, or another local agent? Connect it to the extension with the MCP server.'}
</p>
<p>
<Link
href="/docs/features/mcp-server"
className="font-medium text-blue-700 dark:text-blue-300 underline underline-offset-4"
>
{isZh ? '查看 MCP 文档' : 'Read the MCP docs'}
</Link>
</p>
</div>
<div className="grid sm:grid-cols-3 gap-5 text-left max-w-3xl mx-auto">
{[
{
title: isZh ? '多页面任务' : 'Multi-Page Tasks',
desc: isZh
? '跨多个页面和标签页连续执行任务,不再受限于单页上下文'
: 'Run tasks across multiple pages and tabs without being limited to a single page context',
},
{
title: isZh ? '从页面发起控制' : 'Control from a WebPage',
desc: isZh
? '在页面 JS 中发起任务,驱动整个浏览器完成跨标签操作'
: 'Trigger tasks from in-page JS to drive the entire browser across tabs',
},
{
title: isZh ? '外部发起任务' : 'External Caller',
desc: isZh
? '页面 JS、本地 Agent 或云端 Agent 均可通过扩展发起任务'
: 'Local agents and cloud agents can control user browser through the extension',
},
].map((item) => (
<MagicCard
key={item.title}
className="rounded-xl"
gradientColor="#8b5cf620"
gradientOpacity={0.15}
>
<div className="p-5">
<h3 className="font-semibold text-gray-900 dark:text-white mb-1">{item.title}</h3>
<p className="text-sm text-gray-600 dark:text-gray-300">{item.desc}</p>
</div>
</MagicCard>
))}
</div>
</div>
</section>
)
}