"use client"; import { ExamplePills } from "./ExamplePills"; interface SearchCardProps { query: string; region: string; count: number; loading: boolean; onChange: (field: "query" | "region" | "count", value: string | number) => void; onSubmit: () => void; } const inputStyle: React.CSSProperties = { width: "100%", background: "#0d0d18", border: "1px solid #1e1e2e", borderRadius: 8, padding: "10px 12px", fontSize: 14, color: "#ffffff", outline: "none", boxSizing: "border-box", transition: "border-color 0.15s", }; const labelStyle: React.CSSProperties = { display: "block", fontSize: 11, fontWeight: 500, color: "#6b7280", textTransform: "uppercase", letterSpacing: "0.05em", marginBottom: 6, }; export function SearchCard({ query, region, count, loading, onChange, onSubmit }: SearchCardProps) { const canSubmit = query.trim().length > 0 && !loading; return (
{/* 3-column grid */}
{/* Suchbegriff */}
onChange("query", e.target.value)} onKeyDown={(e) => { if (e.key === "Enter" && canSubmit) onSubmit(); }} placeholder="z.B. Dachdecker, Solaranlage…" style={inputStyle} />
{/* Region */}
onChange("region", e.target.value)} onKeyDown={(e) => { if (e.key === "Enter" && canSubmit) onSubmit(); }} placeholder="z.B. Bayern, München…" style={inputStyle} />
{/* Anzahl */}
{/* Submit button */} {/* Divider */}
Beispielsuche
{ onChange("query", q); onChange("region", r); }} />
); }