refactor: enhance button accessibility and simplify rendering logic in CompactModeButton and UnreadFilterButton components; adjust layout in PageSizeSelect component

This commit is contained in:
Julien Froidefond
2025-04-01 07:18:49 +02:00
parent cdce69a67c
commit 4721076dd9
3 changed files with 11 additions and 14 deletions

View File

@@ -20,18 +20,12 @@ export function CompactModeButton({ onToggle }: CompactModeButtonProps) {
<button <button
onClick={handleClick} onClick={handleClick}
className="inline-flex items-center gap-2 px-2 py-1.5 text-sm font-medium rounded-lg hover:bg-accent hover:text-accent-foreground whitespace-nowrap" className="inline-flex items-center gap-2 px-2 py-1.5 text-sm font-medium rounded-lg hover:bg-accent hover:text-accent-foreground whitespace-nowrap"
title={isCompact ? t("series.filters.normal") : t("series.filters.compact")}
> >
{isCompact ? ( {isCompact ? <LayoutTemplate className="h-4 w-4" /> : <LayoutGrid className="h-4 w-4" />}
<> <span className="hidden sm:inline">
<LayoutTemplate className="h-4 w-4" /> {isCompact ? t("series.filters.normal") : t("series.filters.compact")}
{t("series.filters.normal")} </span>
</>
) : (
<>
<LayoutGrid className="h-4 w-4" />
{t("series.filters.compact")}
</>
)}
</button> </button>
); );
} }

View File

@@ -24,8 +24,8 @@ export function PageSizeSelect({ onSizeChange }: PageSizeSelectProps) {
return ( return (
<Select value={itemsPerPage.toString()} onValueChange={handleChange}> <Select value={itemsPerPage.toString()} onValueChange={handleChange}>
<SelectTrigger className="w-[80px]"> <SelectTrigger className="w-[80px]">
<LayoutList className="h-4 w-4 mr-2" /> <LayoutList className="h-4 w-4" />
<SelectValue /> <SelectValue className="ml-2" />
</SelectTrigger> </SelectTrigger>
<SelectContent> <SelectContent>
<SelectItem value="20">20</SelectItem> <SelectItem value="20">20</SelectItem>

View File

@@ -13,9 +13,12 @@ export function UnreadFilterButton({ showOnlyUnread, onToggle }: UnreadFilterBut
<button <button
onClick={onToggle} onClick={onToggle}
className="inline-flex items-center gap-2 px-2 py-1.5 text-sm font-medium rounded-lg hover:bg-accent hover:text-accent-foreground whitespace-nowrap" className="inline-flex items-center gap-2 px-2 py-1.5 text-sm font-medium rounded-lg hover:bg-accent hover:text-accent-foreground whitespace-nowrap"
title={showOnlyUnread ? t("series.filters.showAll") : t("series.filters.unread")}
> >
<Filter className="h-4 w-4" /> <Filter className="h-4 w-4" />
<span className="hidden sm:inline">
{showOnlyUnread ? t("series.filters.showAll") : t("series.filters.unread")} {showOnlyUnread ? t("series.filters.showAll") : t("series.filters.unread")}
</span>
</button> </button>
); );
} }