diff --git a/src/app/[locale]/page.tsx b/src/app/[locale]/page.tsx index cf53365..8265486 100644 --- a/src/app/[locale]/page.tsx +++ b/src/app/[locale]/page.tsx @@ -39,8 +39,6 @@ export default async function HomePage({ params }: HomePageProps) { toggleToAI={tCommon('toggleToAI')} toggleToTraditional={tCommon('toggleToTraditional')} searching={tCommon('searching')} - aiHint={tCommon('aiHint')} - traditionalHint={tCommon('traditionalHint')} /> diff --git a/src/app/[locale]/projects/ProjectsPageClient.tsx b/src/app/[locale]/projects/ProjectsPageClient.tsx index 71ae340..e3ef48e 100644 --- a/src/app/[locale]/projects/ProjectsPageClient.tsx +++ b/src/app/[locale]/projects/ProjectsPageClient.tsx @@ -22,8 +22,6 @@ interface ProjectsPageClientProps { toggleToAI: string toggleToTraditional: string searching: string - aiHint: string - traditionalHint: string translations: { viewDetails: string submitProjectTitle: string @@ -42,8 +40,6 @@ export function ProjectsPageClient({ toggleToAI, toggleToTraditional, searching, - aiHint, - traditionalHint, translations, }: ProjectsPageClientProps) { const searchParams = useSearchParams() @@ -143,8 +139,6 @@ export function ProjectsPageClient({ toggleToAI={toggleToAI} toggleToTraditional={toggleToTraditional} searching={searching} - aiHint={aiHint} - traditionalHint={traditionalHint} onSearch={handleAISearch} loading={loading} /> diff --git a/src/app/[locale]/projects/page.tsx b/src/app/[locale]/projects/page.tsx index 5932944..3c0cb71 100644 --- a/src/app/[locale]/projects/page.tsx +++ b/src/app/[locale]/projects/page.tsx @@ -52,8 +52,6 @@ export default async function ProjectsPage({ toggleToAI={tCommon('toggleToAI')} toggleToTraditional={tCommon('toggleToTraditional')} searching={tCommon('searching')} - aiHint={tCommon('aiHint')} - traditionalHint={tCommon('traditionalHint')} translations={translations} > {/* Tag Cloud - rendered inside client component for non-AI mode */} diff --git a/src/components/search/AISearchBar.tsx b/src/components/search/AISearchBar.tsx index c9f32a6..e3f64c1 100644 --- a/src/components/search/AISearchBar.tsx +++ b/src/components/search/AISearchBar.tsx @@ -1,7 +1,8 @@ 'use client' -import { useState } from 'react' -import { Sparkles } from 'lucide-react' +import { useState, useEffect } from 'react' +import { useRouter, useSearchParams } from 'next/navigation' +import { Sparkles, X } from 'lucide-react' interface AISearchBarProps { locale: string @@ -12,8 +13,6 @@ interface AISearchBarProps { toggleToAI: string toggleToTraditional: string searching: string - aiHint: string - traditionalHint: string onSearch: (query: string, isAI: boolean) => void loading?: boolean } @@ -27,14 +26,22 @@ export function AISearchBar({ toggleToAI, toggleToTraditional, searching, - aiHint, - traditionalHint, onSearch, loading = false, }: AISearchBarProps) { + const router = useRouter() + const searchParams = useSearchParams() const [query, setQuery] = useState('') const [aiMode, setAiMode] = useState(false) + // 从 URL 参数初始化 query + useEffect(() => { + const searchParam = searchParams.get('search') + if (searchParam) { + setQuery(searchParam) + } + }, [searchParams]) + const handleSubmit = (e: React.FormEvent) => { e.preventDefault() if (query.trim()) { @@ -46,6 +53,11 @@ export function AISearchBar({ setAiMode(!aiMode) } + const handleClear = () => { + setQuery('') + router.push(`/${locale}/projects`) + } + return (
@@ -69,6 +81,18 @@ export function AISearchBar({ {/* Buttons Container */}
+ {/* Clear button - only show when there's a query */} + {query && ( + + )} + {/* AI Mode Toggle */}
- - {/* AI Mode Hint */} - {aiMode && ( -
- 💡 {aiHint} -
- )}
) } diff --git a/src/components/search/HomeSearchBar.tsx b/src/components/search/HomeSearchBar.tsx index 329a61f..86680d0 100644 --- a/src/components/search/HomeSearchBar.tsx +++ b/src/components/search/HomeSearchBar.tsx @@ -11,8 +11,6 @@ interface HomeSearchBarProps { toggleToAI: string toggleToTraditional: string searching: string - aiHint: string - traditionalHint: string } export function HomeSearchBar({ @@ -24,8 +22,6 @@ export function HomeSearchBar({ toggleToAI, toggleToTraditional, searching, - aiHint, - traditionalHint, }: HomeSearchBarProps) { const handleSearch = (query: string, isAI: boolean) => { const params = new URLSearchParams() @@ -44,8 +40,6 @@ export function HomeSearchBar({ toggleToAI={toggleToAI} toggleToTraditional={toggleToTraditional} searching={searching} - aiHint={aiHint} - traditionalHint={traditionalHint} onSearch={handleSearch} /> )