fix: Actualizar diseño del Hub
This commit is contained in:
+47
-2
@@ -876,11 +876,22 @@ interface HubViewProps {
|
||||
}
|
||||
|
||||
function HubView({ user, data, storageWarning, onActivate, onFavorite, onAdmin, onRequestAccess }: HubViewProps) {
|
||||
const [search, setSearch] = useState("");
|
||||
const [categorySearches, setCategorySearches] = useState<Record<string, string>>({
|
||||
Todas: "",
|
||||
Administración: "",
|
||||
"Recursos Humanos": "",
|
||||
CDC: "",
|
||||
});
|
||||
const [category, setCategory] = useState<"Todas" | AppCategory>("Todas");
|
||||
const [favoritesOnly, setFavoritesOnly] = useState(false);
|
||||
const [currentPage, setCurrentPage] = useState(1);
|
||||
const [quickPage, setQuickPage] = useState(1);
|
||||
|
||||
const search = categorySearches[category] ?? "";
|
||||
const setSearch = (value: string) => {
|
||||
setCategorySearches((prev) => ({ ...prev, [category]: value }));
|
||||
};
|
||||
|
||||
const deferredSearch = useDeferredValue(search);
|
||||
const dateLabel = useCurrentDateLabel();
|
||||
const canManageCatalog = user.role === "admin";
|
||||
@@ -980,7 +991,12 @@ function HubView({ user, data, storageWarning, onActivate, onFavorite, onAdmin,
|
||||
};
|
||||
|
||||
const clearFilters = () => {
|
||||
setSearch("");
|
||||
setCategorySearches({
|
||||
Todas: "",
|
||||
Administración: "",
|
||||
"Recursos Humanos": "",
|
||||
CDC: "",
|
||||
});
|
||||
setCategory("Todas");
|
||||
setFavoritesOnly(false);
|
||||
};
|
||||
@@ -1075,6 +1091,30 @@ function HubView({ user, data, storageWarning, onActivate, onFavorite, onAdmin,
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<div className="filter-bar__search">
|
||||
<Search size={16} aria-hidden="true" />
|
||||
<label className="sr-only" htmlFor="directory-search-input">
|
||||
{`Buscar por nombre de proyecto en ${category}`}
|
||||
</label>
|
||||
<input
|
||||
id="directory-search-input"
|
||||
type="search"
|
||||
value={search}
|
||||
onChange={(event) => setSearch(event.target.value)}
|
||||
placeholder={
|
||||
category === "Todas"
|
||||
? "Buscar por nombre de proyecto…"
|
||||
: `Buscar en ${category}…`
|
||||
}
|
||||
/>
|
||||
{search ? (
|
||||
<button type="button" onClick={() => setSearch("")} aria-label="Limpiar búsqueda">
|
||||
<X size={15} aria-hidden="true" />
|
||||
</button>
|
||||
) : null}
|
||||
</div>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
className={`favorites-filter ${favoritesOnly ? "is-active" : ""}`}
|
||||
@@ -1199,6 +1239,11 @@ function AdminAppList({ apps, selectedId, onSelect, onDelete }: AdminAppListProp
|
||||
<Search size={17} aria-hidden="true" />
|
||||
<label htmlFor="admin-search" className="sr-only">Buscar en el catálogo</label>
|
||||
<input id="admin-search" type="search" value={query} onChange={(event) => setQuery(event.target.value)} placeholder="Buscar…" />
|
||||
{query ? (
|
||||
<button type="button" onClick={() => setQuery("")} aria-label="Limpiar búsqueda">
|
||||
<X size={15} aria-hidden="true" />
|
||||
</button>
|
||||
) : null}
|
||||
</div>
|
||||
<div className="admin-list__items">
|
||||
{currentPage === 1 ? (
|
||||
|
||||
Reference in New Issue
Block a user