Skip to content

Commit 7d92c5d

Browse files
committed
Disable filters if there's just one option
1 parent 59794fd commit 7d92c5d

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/app/(main)/community/events/event-filter-tag.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,27 @@ export interface EventFilterTagProps
1515
kind: EventKind
1616
checked: boolean
1717
onChange: (event: React.ChangeEvent<HTMLInputElement>) => void
18+
disabled?: boolean
1819
}
1920

2021
export function EventFilterTag({
2122
kind,
2223
checked,
2324
onChange,
25+
disabled,
2426
...rest
2527
}: EventFilterTagProps) {
2628
return (
2729
<label
2830
{...rest}
29-
className="cursor-pointer select-none hover:opacity-90 hover:ring hover:ring-neu-100 dark:hover:ring-neu-50"
31+
className="cursor-pointer select-none hover:opacity-90 hover:ring hover:ring-neu-100 has-[>:disabled]:pointer-events-none dark:hover:ring-neu-50"
3032
>
3133
<input
3234
type="checkbox"
3335
className="sr-only"
3436
onChange={onChange}
3537
checked={checked}
38+
disabled={disabled}
3639
/>
3740
<Tag
3841
color={eventTagColors[kind]}

src/app/(main)/community/events/events-list.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ export function EventsList({
112112
key={tag}
113113
kind={tag}
114114
checked={kindFilters[tag]}
115+
disabled={
116+
Object.values(kindFilters).filter(Boolean).length === 1 &&
117+
kindFilters[tag]
118+
}
115119
onChange={event => {
116120
setKindFilters(prev => ({
117121
...prev,

0 commit comments

Comments
 (0)