Files
KVideo/components/search/SearchForm.tsx
T
2025-12-24 23:53:24 +08:00

49 lines
1.0 KiB
TypeScript

'use client';
import { SearchLoadingAnimation } from '@/components/SearchLoadingAnimation';
import { SearchBox } from './SearchBox';
interface SearchFormProps {
onSearch: (query: string) => void;
onClear?: () => void;
isLoading: boolean;
initialQuery?: string;
currentSource?: string;
checkedSources?: number;
totalSources?: number;
placeholder?: string;
}
export function SearchForm({
onSearch,
onClear,
isLoading,
initialQuery = '',
currentSource = '',
checkedSources = 0,
totalSources = 16,
placeholder,
}: SearchFormProps) {
return (
<div className="max-w-3xl mx-auto">
<SearchBox
onSearch={onSearch}
onClear={onClear}
initialQuery={initialQuery}
placeholder={placeholder}
/>
{/* Loading Animation */}
{isLoading && (
<div className="mt-4">
<SearchLoadingAnimation
currentSource={currentSource}
checkedSources={checkedSources}
totalSources={totalSources}
/>
</div>
)}
</div>
);
}