From 552254d4a82ced46f6becdb31e8c5a6943587038 Mon Sep 17 00:00:00 2001 From: Alexis Date: Mon, 1 Jun 2026 13:33:36 +0200 Subject: [PATCH] =?UTF-8?q?feat(ui):=20mejora=20en=20el=20selector=20de=20?= =?UTF-8?q?a=C3=B1os=20en=20PublicationsTable=20y=20ajustes=20en=20SwordPr?= =?UTF-8?q?ofileSelect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Se reemplaza el elemento handleYearFromChange(e.target.value)} + onChange={handleYearFromChange} disabled={availableYears.length === 0} - className="rounded-md border border-surface-border-strong bg-surface-primary px-2.5 py-1.5 text-[13px] text-ink-primary outline-none focus:border-brand-accent disabled:cursor-not-allowed disabled:opacity-50" - > - - {availableYears.map((y) => ( - - ))} - + options={availableYears.map((y) => ({ + value: String(y), + label: String(y), + }))} + />
- + options={availableYears.map((y) => ({ + value: String(y), + label: String(y), + }))} + />
{hasYearFilter && ( ))} diff --git a/frontend/src/components/ui/CustomSelect.jsx b/frontend/src/components/ui/CustomSelect.jsx new file mode 100644 index 0000000..8597d01 --- /dev/null +++ b/frontend/src/components/ui/CustomSelect.jsx @@ -0,0 +1,86 @@ +import { useEffect, useMemo, useRef, useState } from "react"; +import { ChevronDownIcon } from "./Icons"; + +/** + * Desplegable personalizado (sustituto del `