TypeScript 50.6%
JavaScript 46.1%
SQL 2.1%
Shell 0.6%
CSS 0.5%
1"use client";2import { useRouter } from "next/navigation";3import { useState } from "react";4import { IconSearch } from "@/components/icons";5export function EstimateSearch({ initial }: { initial: string }) {6 const [q, setQ] = useState(initial); const router = useRouter();7 return (8 <form onSubmit={(e) => { e.preventDefault(); if (q.trim()) router.push(`/estimer?q=${encodeURIComponent(q.trim())}`); }} className="relative">9 <IconSearch className="absolute left-3.5 top-1/2 -translate-y-1/2 text-ink-3" />10 <input value={q} onChange={(e) => setQ(e.target.value)} className="tv-input py-3.5 text-base pr-28" placeholder="1234 Rue des Érables, Québec" aria-label="Adresse à estimer" />11 <button type="submit" className="tv-btn tv-btn-primary absolute right-1.5 top-1/2 -translate-y-1/2">Estimer</button>12 </form>13 );14}15