chore: wording; tailwind lint

This commit is contained in:
Simon
2025-11-26 19:56:47 +08:00
parent 7ae8fe753a
commit 60a6b5e5b6
6 changed files with 62 additions and 63 deletions

View File

@@ -28,7 +28,7 @@ const CodeEditor: React.FC<CodeEditorProps> = ({
// 使用 Tailwind 的 dark: 前缀实现自动主题切换 // 使用 Tailwind 的 dark: 前缀实现自动主题切换
const containerClasses = const containerClasses =
'bg-gradient-to-br from-gray-50 to-gray-100 dark:from-gray-900 dark:to-gray-800 border-gray-300 dark:border-gray-700' 'bg-linear-to-br from-gray-50 to-gray-100 dark:from-gray-900 dark:to-gray-800 border-gray-300 dark:border-gray-700'
const headerClasses = 'bg-gray-100 dark:bg-gray-800 border-gray-300 dark:border-gray-700' const headerClasses = 'bg-gray-100 dark:bg-gray-800 border-gray-300 dark:border-gray-700'
const headerTextClasses = 'text-gray-700 dark:text-gray-300' const headerTextClasses = 'text-gray-700 dark:text-gray-300'
const languageTextClasses = 'text-gray-600 dark:text-gray-400' const languageTextClasses = 'text-gray-600 dark:text-gray-400'

View File

@@ -48,25 +48,25 @@ const pageAgentTool = {
<h2 className="text-2xl font-bold mb-4"></h2> <h2 className="text-2xl font-bold mb-4"></h2>
<div className="grid md:grid-cols-2 gap-4 mb-6"> <div className="grid md:grid-cols-2 gap-4 mb-6">
<div className="bg-gradient-to-br from-blue-50 to-purple-50 dark:from-gray-800 dark:to-gray-700 p-4 rounded-lg"> <div className="bg-linear-to-br from-blue-50 to-purple-50 dark:from-gray-800 dark:to-gray-700 p-4 rounded-lg">
<h4 className="font-semibold mb-2 text-gray-900 dark:text-white">🤖 </h4> <h4 className="font-semibold mb-2 text-gray-900 dark:text-white">🤖 </h4>
<p className="text-sm text-gray-600 dark:text-gray-300"> <p className="text-sm text-gray-600 dark:text-gray-300">
"帮我提交工单" "帮我提交工单"
</p> </p>
</div> </div>
<div className="bg-gradient-to-br from-green-50 to-blue-50 dark:from-gray-800 dark:to-gray-700 p-4 rounded-lg"> <div className="bg-linear-to-br from-green-50 to-blue-50 dark:from-gray-800 dark:to-gray-700 p-4 rounded-lg">
<h4 className="font-semibold mb-2 text-gray-900 dark:text-white">📋 </h4> <h4 className="font-semibold mb-2 text-gray-900 dark:text-white">📋 </h4>
<p className="text-sm text-gray-600 dark:text-gray-300"> <p className="text-sm text-gray-600 dark:text-gray-300">
"完成客户入职" "完成客户入职"
</p> </p>
</div> </div>
<div className="bg-gradient-to-br from-purple-50 to-pink-50 dark:from-gray-800 dark:to-gray-700 p-4 rounded-lg"> <div className="bg-linear-to-br from-purple-50 to-pink-50 dark:from-gray-800 dark:to-gray-700 p-4 rounded-lg">
<h4 className="font-semibold mb-2 text-gray-900 dark:text-white">🎯 </h4> <h4 className="font-semibold mb-2 text-gray-900 dark:text-white">🎯 </h4>
<p className="text-sm text-gray-600 dark:text-gray-300"> <p className="text-sm text-gray-600 dark:text-gray-300">
"预订会议室" "预订会议室"
</p> </p>
</div> </div>
<div className="bg-gradient-to-br from-orange-50 to-red-50 dark:from-gray-800 dark:to-gray-700 p-4 rounded-lg"> <div className="bg-linear-to-br from-orange-50 to-red-50 dark:from-gray-800 dark:to-gray-700 p-4 rounded-lg">
<h4 className="font-semibold mb-2 text-gray-900 dark:text-white">🔧 </h4> <h4 className="font-semibold mb-2 text-gray-900 dark:text-white">🔧 </h4>
<p className="text-sm text-gray-600 dark:text-gray-300"> <p className="text-sm text-gray-600 dark:text-gray-300">
"重启服务器" "重启服务器"

View File

@@ -39,9 +39,9 @@ export default {
}, },
features: { features: {
section_title: 'Why PageAgent', section_title: 'Why PageAgent',
dom_understanding: { in_page: {
title: 'Smart DOM Analysis', title: 'In-page Solution',
desc: 'Analyzes page structure without screenshots or vision models. Pure text understanding for fast, accurate automation.', desc: 'Runs entirely within your page. No browser extensions, no headless browsers, and no backend required.',
}, },
secure_integration: { secure_integration: {
title: 'Secure by Design', title: 'Secure by Design',
@@ -49,7 +49,7 @@ export default {
}, },
zero_backend: { zero_backend: {
title: 'Zero Backend Setup', title: 'Zero Backend Setup',
desc: 'Just drop in a script tag. Works with any LLM provider—OpenAI, Anthropic, or your own models.', desc: 'Just drop in a script. Works with any LLM provider—OpenAI, Anthropic, or your own models.',
}, },
accessible: { accessible: {
title: 'Natural Language UI', title: 'Natural Language UI',

View File

@@ -38,9 +38,9 @@ export default {
}, },
features: { features: {
section_title: '核心特性', section_title: '核心特性',
dom_understanding: { in_page: {
title: '智能 DOM 理解', title: '纯页面内方案',
desc: '基于 DOM 分析,高强度脱水。无需视觉识别,纯文本实现精准操作。', desc: '完全运行在你的页面内。不需要浏览器插件、不需要无头浏览器,不需要后端。',
}, },
secure_integration: { secure_integration: {
title: '安全可控集成', title: '安全可控集成',
@@ -48,7 +48,7 @@ export default {
}, },
zero_backend: { zero_backend: {
title: '零后端部署', title: '零后端部署',
desc: 'CDN 直接引入,自定义 LLM 接入点。从 OpenAI 到 qwen3完全由你掌控。', desc: '前端脚本引入,自定义 LLM 接入点。从 OpenAI 到 qwen3完全由你掌控。',
}, },
accessible: { accessible: {
title: '普惠智能交互', title: '普惠智能交互',

View File

@@ -70,7 +70,7 @@ export default function HomePage() {
} }
return ( return (
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-purple-50 dark:from-gray-900 dark:to-gray-800"> <div className="min-h-screen bg-linear-to-br from-blue-50 to-purple-50 dark:from-gray-900 dark:to-gray-800">
<Header /> <Header />
{/* Hero Section */} {/* Hero Section */}
@@ -302,49 +302,30 @@ export default function HomePage() {
<div className="grid md:grid-cols-2 lg:grid-cols-4 gap-8" role="list"> <div className="grid md:grid-cols-2 lg:grid-cols-4 gap-8" role="list">
{/* Feature 1 */} {/* Feature 1 */}
<article <article
className="group p-8 bg-gradient-to-br from-blue-100 to-purple-100 dark:from-gray-700 dark:to-gray-800 rounded-2xl shadow-lg hover:shadow-xl transition-all duration-300 border border-gray-100 dark:border-gray-700" className="group p-8 bg-linear-to-br from-blue-100 to-purple-100 dark:from-gray-700 dark:to-gray-800 rounded-2xl shadow-lg hover:shadow-xl transition-all duration-300 border border-gray-100 dark:border-gray-700"
role="listitem" role="listitem"
> >
<div <div
className="w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform duration-300" className="w-12 h-12 bg-linear-to-br from-blue-500 to-blue-600 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform duration-300"
aria-hidden="true" aria-hidden="true"
> >
<span className="text-white text-xl">🧠</span> <span className="text-white text-xl">📦</span>
</div> </div>
<h3 className="text-xl font-bold mb-4 text-gray-900 dark:text-white"> <h3 className="text-xl font-bold mb-4 text-gray-900 dark:text-white">
{t('home:features.dom_understanding.title')} {t('home:features.in_page.title')}
</h3> </h3>
<p className="text-gray-600 dark:text-gray-300 leading-relaxed"> <p className="text-gray-600 dark:text-gray-300 leading-relaxed">
{t('home:features.dom_understanding.desc')} {t('home:features.in_page.desc')}
</p> </p>
</article> </article>
{/* Feature 2 */} {/* Feature 2 */}
<article <article
className="group p-8 bg-gradient-to-br from-green-100 to-blue-100 dark:from-gray-700 dark:to-gray-800 rounded-2xl shadow-lg hover:shadow-xl transition-all duration-300 border border-gray-100 dark:border-gray-700" className="group p-8 bg-linear-to-br from-purple-100 to-pink-100 dark:from-gray-700 dark:to-gray-800 rounded-2xl shadow-lg hover:shadow-xl transition-all duration-300 border border-gray-100 dark:border-gray-700"
role="listitem" role="listitem"
> >
<div <div
className="w-12 h-12 bg-gradient-to-br from-purple-500 to-purple-600 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform duration-300" className="w-12 h-12 bg-linear-to-br from-green-500 to-green-600 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform duration-300"
aria-hidden="true"
>
<span className="text-white text-xl">🔒</span>
</div>
<h3 className="text-xl font-bold mb-4 text-gray-900 dark:text-white">
{t('home:features.secure_integration.title')}
</h3>
<p className="text-gray-600 dark:text-gray-300 leading-relaxed">
{t('home:features.secure_integration.desc')}
</p>
</article>
{/* Feature 3 */}
<article
className="group p-8 bg-gradient-to-br from-purple-100 to-pink-100 dark:from-gray-700 dark:to-gray-800 rounded-2xl shadow-lg hover:shadow-xl transition-all duration-300 border border-gray-100 dark:border-gray-700"
role="listitem"
>
<div
className="w-12 h-12 bg-gradient-to-br from-green-500 to-green-600 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform duration-300"
aria-hidden="true" aria-hidden="true"
> >
<span className="text-white text-xl"></span> <span className="text-white text-xl"></span>
@@ -357,16 +338,16 @@ export default function HomePage() {
</p> </p>
</article> </article>
{/* Feature 4 */} {/* Feature 3 */}
<article <article
className="group p-8 bg-gradient-to-br from-orange-100 to-red-100 dark:from-gray-700 dark:to-gray-800 rounded-2xl shadow-lg hover:shadow-xl transition-all duration-300 border border-gray-100 dark:border-gray-700" className="group p-8 bg-linear-to-br from-orange-100 to-red-100 dark:from-gray-700 dark:to-gray-800 rounded-2xl shadow-lg hover:shadow-xl transition-all duration-300 border border-gray-100 dark:border-gray-700"
role="listitem" role="listitem"
> >
<div <div
className="w-12 h-12 bg-gradient-to-br from-orange-500 to-orange-600 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform duration-300" className="w-12 h-12 bg-linear-to-br from-purple-500 to-purple-600 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform duration-300"
aria-hidden="true" aria-hidden="true"
> >
<span className="text-white text-xl"></span> <span className="text-white text-xl">🌈</span>
</div> </div>
<h3 className="text-xl font-bold mb-4 text-gray-900 dark:text-white"> <h3 className="text-xl font-bold mb-4 text-gray-900 dark:text-white">
{t('home:features.accessible.title')} {t('home:features.accessible.title')}
@@ -375,6 +356,25 @@ export default function HomePage() {
{t('home:features.accessible.desc')} {t('home:features.accessible.desc')}
</p> </p>
</article> </article>
{/* Feature 4 */}
<article
className="group p-8 bg-linear-to-br from-green-100 to-blue-100 dark:from-gray-700 dark:to-gray-800 rounded-2xl shadow-lg hover:shadow-xl transition-all duration-300 border border-gray-100 dark:border-gray-700"
role="listitem"
>
<div
className="w-12 h-12 bg-linear-to-br from-orange-500 to-orange-600 rounded-xl flex items-center justify-center mb-6 group-hover:scale-110 transition-transform duration-300"
aria-hidden="true"
>
<span className="text-white text-xl">🔒</span>
</div>
<h3 className="text-xl font-bold mb-4 text-gray-900 dark:text-white">
{t('home:features.secure_integration.title')}
</h3>
<p className="text-gray-600 dark:text-gray-300 leading-relaxed">
{t('home:features.secure_integration.desc')}
</p>
</article>
</div> </div>
</div> </div>
</section> </section>
@@ -396,7 +396,7 @@ export default function HomePage() {
<div className="grid lg:grid-cols-2 gap-12" role="list"> <div className="grid lg:grid-cols-2 gap-12" role="list">
{/* Use Case 1 */} {/* Use Case 1 */}
<div className="bg-gradient-to-br from-blue-100 to-purple-100 dark:from-gray-700 dark:to-gray-800 p-8 rounded-2xl"> <div className="bg-linear-to-br from-blue-100 to-purple-100 dark:from-gray-700 dark:to-gray-800 p-8 rounded-2xl">
<div className="flex items-start space-x-4"> <div className="flex items-start space-x-4">
<div className="w-10 h-10 bg-blue-500 rounded-lg flex items-center justify-center flex-shrink-0"> <div className="w-10 h-10 bg-blue-500 rounded-lg flex items-center justify-center flex-shrink-0">
<span className="text-white font-bold">1</span> <span className="text-white font-bold">1</span>
@@ -414,7 +414,7 @@ export default function HomePage() {
</div> </div>
{/* Use Case 2 */} {/* Use Case 2 */}
<div className="bg-gradient-to-br from-green-100 to-blue-100 dark:from-gray-700 dark:to-gray-800 p-8 rounded-2xl"> <div className="bg-linear-to-br from-green-100 to-blue-100 dark:from-gray-700 dark:to-gray-800 p-8 rounded-2xl">
<div className="flex items-start space-x-4"> <div className="flex items-start space-x-4">
<div className="w-10 h-10 bg-green-500 rounded-lg flex items-center justify-center flex-shrink-0"> <div className="w-10 h-10 bg-green-500 rounded-lg flex items-center justify-center flex-shrink-0">
<span className="text-white font-bold">2</span> <span className="text-white font-bold">2</span>
@@ -431,7 +431,7 @@ export default function HomePage() {
</div> </div>
{/* Use Case 3 */} {/* Use Case 3 */}
<div className="bg-gradient-to-br from-purple-100 to-pink-100 dark:from-gray-700 dark:to-gray-800 p-8 rounded-2xl"> <div className="bg-linear-to-br from-purple-100 to-pink-100 dark:from-gray-700 dark:to-gray-800 p-8 rounded-2xl">
<div className="flex items-start space-x-4"> <div className="flex items-start space-x-4">
<div className="w-10 h-10 bg-purple-500 rounded-lg flex items-center justify-center flex-shrink-0"> <div className="w-10 h-10 bg-purple-500 rounded-lg flex items-center justify-center flex-shrink-0">
<span className="text-white font-bold">3</span> <span className="text-white font-bold">3</span>
@@ -448,7 +448,7 @@ export default function HomePage() {
</div> </div>
{/* Use Case 4 */} {/* Use Case 4 */}
<div className="bg-gradient-to-br from-orange-100 to-red-100 dark:from-gray-700 dark:to-gray-800 p-8 rounded-2xl"> <div className="bg-linear-to-br from-orange-100 to-red-100 dark:from-gray-700 dark:to-gray-800 p-8 rounded-2xl">
<div className="flex items-start space-x-4"> <div className="flex items-start space-x-4">
<div className="w-10 h-10 bg-orange-500 rounded-lg flex items-center justify-center flex-shrink-0"> <div className="w-10 h-10 bg-orange-500 rounded-lg flex items-center justify-center flex-shrink-0">
<span className="text-white font-bold">4</span> <span className="text-white font-bold">4</span>

View File

@@ -2,7 +2,7 @@ import { Link } from 'wouter'
export default function IndexPage() { export default function IndexPage() {
return ( return (
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-purple-50 dark:from-gray-900 dark:to-gray-800 p-8"> <div className="min-h-screen bg-linear-to-br from-blue-50 to-purple-50 dark:from-gray-900 dark:to-gray-800 p-8">
<div className="max-w-4xl mx-auto"> <div className="max-w-4xl mx-auto">
<div className="text-center mb-12"> <div className="text-center mb-12">
<h1 className="text-4xl font-bold text-gray-900 dark:text-white mb-4"> <h1 className="text-4xl font-bold text-gray-900 dark:text-white mb-4">
@@ -59,7 +59,10 @@ export default function IndexPage() {
</div> </div>
<div className="text-center"> <div className="text-center">
<Link href="/" className="inline-flex items-center px-6 py-3 bg-blue-600 hover:bg-blue-700 text-white rounded-lg transition-colors"> <Link
href="/"
className="inline-flex items-center px-6 py-3 bg-blue-600 hover:bg-blue-700 text-white rounded-lg transition-colors"
>
Page Use Page Use
</Link> </Link>
</div> </div>
@@ -78,28 +81,24 @@ interface TestPageCardProps {
function TestPageCard({ title, description, path, icon, difficulty }: TestPageCardProps) { function TestPageCard({ title, description, path, icon, difficulty }: TestPageCardProps) {
const difficultyColors = { const difficultyColors = {
'简单': 'bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200', : 'bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200',
'中等': 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200', : 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200',
'困难': 'bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200' : 'bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200',
} }
return ( return (
<Link href={path}> <Link href={path}>
<div className="bg-white dark:bg-gray-800 rounded-xl p-6 shadow-lg hover:shadow-xl transition-all duration-300 hover:scale-105 cursor-pointer border border-gray-200 dark:border-gray-700"> <div className="bg-white dark:bg-gray-800 rounded-xl p-6 shadow-lg hover:shadow-xl transition-all duration-300 hover:scale-105 cursor-pointer border border-gray-200 dark:border-gray-700">
<div className="text-4xl mb-4">{icon}</div> <div className="text-4xl mb-4">{icon}</div>
<h3 className="text-xl font-semibold text-gray-900 dark:text-white mb-2"> <h3 className="text-xl font-semibold text-gray-900 dark:text-white mb-2">{title}</h3>
{title} <p className="text-gray-600 dark:text-gray-300 mb-4 text-sm">{description}</p>
</h3>
<p className="text-gray-600 dark:text-gray-300 mb-4 text-sm">
{description}
</p>
<div className="flex justify-between items-center"> <div className="flex justify-between items-center">
<span className={`px-2 py-1 rounded-full text-xs font-medium ${difficultyColors[difficulty as keyof typeof difficultyColors]}`}> <span
className={`px-2 py-1 rounded-full text-xs font-medium ${difficultyColors[difficulty as keyof typeof difficultyColors]}`}
>
{difficulty} {difficulty}
</span> </span>
<span className="text-blue-600 dark:text-blue-400 text-sm font-medium"> <span className="text-blue-600 dark:text-blue-400 text-sm font-medium"> </span>
</span>
</div> </div>
</div> </div>
</Link> </Link>