feat(F-065): completed feature

This commit is contained in:
chattie
2026-08-19 17:12:25 +02:00
parent a6d65310df
commit e60e22ca30
14 changed files with 169 additions and 12 deletions

View File

@@ -145,7 +145,7 @@ export default function CustomersPage() {
{/* Buscador */}
<div className="relative max-w-sm">
<input type="search" placeholder="Buscar por email..." value={search}
<input type="search" id="admin-customers-search" name="q" placeholder="Buscar por email..." value={search}
onChange={(e) => setSearch(e.target.value)}
className="w-full pl-10 pr-4 py-2.5 border border-gray-300 rounded-xl text-sm focus:ring-2 focus:ring-[#2D6A4F] focus:border-transparent outline-none" />
<svg className="absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>

View File

@@ -148,6 +148,8 @@ export default function InventoryPage() {
<div className="relative flex-1 max-w-sm">
<input
type="search"
id="admin-inventory-search"
name="q"
placeholder="Buscar por producto o SKU..."
value={search}
onChange={(e) => setSearch(e.target.value)}

View File

@@ -100,6 +100,8 @@ export default function OrdersPage() {
<div className="relative flex-1 max-w-xs">
<input
type="search"
id="admin-orders-search"
name="q"
placeholder="Buscar por ID o email..."
value={search}
onChange={(e) => setSearch(e.target.value)}

View File

@@ -90,6 +90,8 @@ export default function ProductsPage() {
<div className="relative max-w-md">
<input
type="search"
id="admin-products-search"
name="q"
placeholder="Buscar por nombre..."
value={search}
onChange={(e) => setSearch(e.target.value)}

File diff suppressed because one or more lines are too long

View File

@@ -42,6 +42,7 @@ export default async function SearchPage({ searchParams }: Props) {
</h1>
<form method="GET" action="/search" className="flex gap-3">
<input
id="search-page-q"
name="q"
type="search"
defaultValue={query}

View File

@@ -186,6 +186,8 @@ export function Header() {
<div className="relative w-full">
<input
type="search"
id="site-search"
name="q"
value={q}
onChange={(e) => handleSearchChange(e.target.value)}
onFocus={() => { if (q.trim() && (results.length > 0 || suggestions.length > 0)) setShowDropdown(true); }}