fix: 統一所有頁面布局,解決排版不一致問題

- 修復AI生成頁面的雙層容器問題,移除多餘的max-w-4xl限制
- 統一所有頁面使用相同的容器設定 (max-w-7xl mx-auto px-4 sm:px-6 lg:px-8)
- 統一背景色為藍色漸層,保持視覺一致性
- 統一標題樣式為響應式設計 (text-2xl sm:text-3xl)
- 清理未使用的導入和變數

所有頁面標題和內容位置現在完全對齊

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
鄭沛軒 2025-10-08 01:27:36 +08:00
parent 4866ff8e9c
commit adf9ef0394
4 changed files with 16 additions and 16 deletions

View File

@ -126,7 +126,7 @@ function FlashcardsContent({ showForm, setShowForm }: { showForm: boolean; setSh
}
return (
<div className="min-h-screen bg-gray-50">
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100">
{/* Navigation */}
<Navigation />

View File

@ -6,7 +6,7 @@ import { Navigation } from '@/components/shared/Navigation'
import { WordPopup } from '@/components/word/WordPopup'
import { useToast } from '@/components/shared/Toast'
import { flashcardsService } from '@/lib/services/flashcards'
import { compareCEFRLevels, getLevelIndex, getTargetLearningRange } from '@/lib/utils/cefrUtils'
import { getLevelIndex, getTargetLearningRange } from '@/lib/utils/cefrUtils'
import { useWordAnalysis } from '@/hooks/word/useWordAnalysis'
import { API_CONFIG } from '@/lib/config/api'
import Link from 'next/link'
@ -34,7 +34,7 @@ interface GrammarCorrection {
function GenerateContent() {
const toast = useToast()
const { findWordAnalysis, getWordClass, shouldShowStar } = useWordAnalysis()
const { findWordAnalysis, getWordClass } = useWordAnalysis()
const [textInput, setTextInput] = useState('')
const [isAnalyzing, setIsAnalyzing] = useState(false)
const [showAnalysisView, setShowAnalysisView] = useState(false)
@ -232,13 +232,13 @@ function GenerateContent() {
}, [])
return (
<div className="min-h-screen bg-gray-50">
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100">
<Navigation />
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
{!showAnalysisView ? (
<div className="max-w-4xl mx-auto">
<h1 className="text-3xl font-bold mb-8">AI </h1>
<>
<h1 className="text-2xl sm:text-3xl font-bold text-gray-900 mb-8">AI </h1>
{/* Content Input */}
<div className="bg-white rounded-xl shadow-sm p-4 sm:p-6 mb-6">
@ -316,10 +316,10 @@ function GenerateContent() {
})()}
</div>
</div>
</div>
</>
) : (
/* 重新設計的句子分析視圖 - 簡潔流暢 */
<div className="max-w-4xl mx-auto">
<>
{/* 語法修正面板 - 如果需要的話 */}
{grammarCorrection && grammarCorrection.hasErrors && (
<div className="bg-yellow-50 border border-yellow-200 rounded-xl p-6 mb-6">
@ -490,7 +490,7 @@ function GenerateContent() {
<span></span>
</button>
</div>
</div>
</>
)}
{/* 慣用語彈窗 - 使用統一的 WordPopup */}

View File

@ -338,10 +338,10 @@ export default function ProfilePage() {
<Navigation />
<div className="py-8">
<div className="max-w-6xl mx-auto px-4">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
{/* 頁面標題 */}
<div className="mb-8">
<h1 className="text-3xl font-bold text-gray-900 mb-2"></h1>
<h1 className="text-2xl sm:text-3xl font-bold text-gray-900 mb-2"></h1>
<p className="text-gray-600"></p>
</div>

View File

@ -44,7 +44,7 @@ export default function ReviewPage() {
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100">
<Navigation />
<div className="py-8">
<div className="max-w-4xl mx-auto px-4">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="bg-white rounded-xl shadow-lg p-8 text-center">
<div className="animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4"></div>
<h2 className="text-xl font-semibold text-gray-700">...</h2>
@ -64,7 +64,7 @@ export default function ReviewPage() {
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100">
<Navigation />
<div className="py-8">
<div className="max-w-4xl mx-auto px-4">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="bg-white rounded-xl shadow-lg p-8 text-center">
<div className={`text-4xl mb-4 ${isAuthError ? 'text-yellow-500' : 'text-red-500'}`}>
{isAuthError ? '🔒' : '⚠️'}
@ -111,7 +111,7 @@ export default function ReviewPage() {
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100">
<Navigation />
<div className="py-8">
<div className="max-w-4xl mx-auto px-4">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="bg-white rounded-xl shadow-lg p-8 text-center">
{/* 歡迎圖標 */}
<div className="mb-6">
@ -190,7 +190,7 @@ export default function ReviewPage() {
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100">
<Navigation />
<div className="py-8">
<div className="max-w-4xl mx-auto px-4">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="bg-white rounded-xl shadow-lg p-8 text-center">
{/* 慶祝圖標 */}
<div className="mb-6">
@ -278,7 +278,7 @@ export default function ReviewPage() {
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100">
<Navigation />
<div className="py-8">
<div className="max-w-4xl mx-auto px-4">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<QuizResult
score={score}
totalCards={flashcards.length}