fix(ui) : improve control visibility while preserving header styling
CI / Verify (push) Successful in 3m0s
CI / Build immutable images and deploy (push) Successful in 2m34s

This commit is contained in:
2026-10-14 15:35:40 +07:00 Unverified
parent 8d051c9e4b
commit d229cb3942
10 changed files with 109 additions and 29 deletions
+6 -2
View File
@@ -7,6 +7,7 @@ import Link from "next/link";
import { useSearchParams } from "next/navigation";
import {
ArrowDownAZIcon,
ArrowRightIcon,
ArrowUpZAIcon,
Clock3Icon,
SearchIcon,
@@ -251,7 +252,10 @@ export function StructuredDirectory({ guides }: { guides: GuideCard[] }) {
</div>
<CardHeader className="min-w-0 flex-1 p-3 sm:p-4 sm:pt-5">
<div className="min-w-0 space-y-1">
<CardTitle className="line-clamp-1">{guide.name}</CardTitle>
<CardTitle className="flex min-w-0 items-center gap-2">
<span className="truncate">{guide.name}</span>
<ArrowRightIcon aria-hidden="true" className="size-4 shrink-0 text-primary" />
</CardTitle>
<CardDescription className="line-clamp-2 sm:line-clamp-3">
{guide.overview}
</CardDescription>
@@ -305,7 +309,7 @@ function GuideToggleFilter({
<div className={showLabels ? "flex flex-col gap-2" : "shrink-0 border-l pl-2"}>
<ToggleGroup aria-label={label} variant="outline" size="sm" multiple value={value} onValueChange={onChange} className={showLabels ? "flex flex-wrap justify-start" : undefined}>
{options.map((option) => (
<ToggleGroupItem key={option} value={option} aria-label={`${label}: ${optionLabels[option] ?? option}`} title={`${label}: ${optionLabels[option] ?? option}`} className="max-sm:min-h-11 aria-pressed:border-primary aria-pressed:bg-transparent aria-pressed:text-primary">
<ToggleGroupItem key={option} value={option} aria-label={`${label}: ${optionLabels[option] ?? option}`} title={`${label}: ${optionLabels[option] ?? option}`} className="max-sm:min-h-11">
{optionIcon?.(option)}{showLabels ? optionLabels[option] ?? option : optionText?.(option)}
</ToggleGroupItem>
))}