dramaling-vocab-learning/frontend/app/page.tsx

130 lines
5.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

'use client'
import { useState } from 'react'
import Link from 'next/link'
export default function HomePage() {
const [email, setEmail] = useState('')
return (
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100">
{/* Navigation */}
<nav className="bg-white shadow-sm">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="flex justify-between h-16">
<div className="flex items-center">
<h1 className="text-2xl font-bold text-primary">DramaLing</h1>
</div>
<div className="flex items-center space-x-4">
<Link href="/login" className="text-gray-600 hover:text-gray-900">
</Link>
<Link
href="/register"
className="bg-primary text-white px-4 py-2 rounded-lg hover:bg-primary-hover transition-colors"
>
</Link>
</div>
</div>
</div>
</nav>
{/* Hero Section */}
<section className="pt-20 pb-32 px-4">
<div className="max-w-7xl mx-auto text-center">
<h2 className="text-5xl font-bold text-gray-900 mb-6">
<span className="text-primary"></span>
</h2>
<p className="text-xl text-gray-600 mb-8 max-w-2xl mx-auto">
AI
<br />
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<input
type="email"
value={email}
onChange={(e) => setEmail(e.target.value)}
placeholder="輸入您的 Email"
className="px-6 py-3 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-primary"
/>
<Link
href="/register"
className="bg-primary text-white px-8 py-3 rounded-lg font-semibold hover:bg-primary-hover transition-colors"
>
</Link>
</div>
</div>
</section>
{/* Features */}
<section className="py-20 bg-white">
<div className="max-w-7xl mx-auto px-4">
<h3 className="text-3xl font-bold text-center mb-12">
DramaLing
</h3>
<div className="grid md:grid-cols-3 gap-8">
<div className="text-center">
<div className="w-16 h-16 bg-primary-light rounded-full flex items-center justify-center mx-auto mb-4">
<svg className="w-8 h-8 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 10V3L4 14h7v7l9-11h-7z" />
</svg>
</div>
<h4 className="text-xl font-semibold mb-2">AI </h4>
<p className="text-gray-600">
Google Gemini AI
<br />
</p>
</div>
<div className="text-center">
<div className="w-16 h-16 bg-primary-light rounded-full flex items-center justify-center mx-auto mb-4">
<svg className="w-8 h-8 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
</div>
<h4 className="text-xl font-semibold mb-2"></h4>
<p className="text-gray-600">
SM-2
<br />
</p>
</div>
<div className="text-center">
<div className="w-16 h-16 bg-primary-light rounded-full flex items-center justify-center mx-auto mb-4">
<svg className="w-8 h-8 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
</div>
<h4 className="text-xl font-semibold mb-2"></h4>
<p className="text-gray-600">
<br />
</p>
</div>
</div>
</div>
</section>
{/* CTA Section */}
<section className="py-20 bg-gray-50">
<div className="max-w-4xl mx-auto text-center px-4">
<h3 className="text-3xl font-bold mb-4"></h3>
<p className="text-xl text-gray-600 mb-8">
</p>
<Link
href="/register"
className="inline-block bg-primary text-white px-8 py-4 rounded-lg font-semibold text-lg hover:bg-primary-hover transition-colors"
>
</Link>
</div>
</section>
</div>
)
}