Skip to content

Commit d28a48a

Browse files
Merge pull request #2058 from RitoG09/bug/tools-filter-#2033
Fix tools filter checkbox state persistence on refresh
2 parents affd846 + fb974c2 commit d28a48a

File tree

5 files changed

+172
-149
lines changed

5 files changed

+172
-149
lines changed

pages/tools/components/Sidebar.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,9 @@ export default function Sidebar({
4343
setIsSidebarOpen,
4444
}: SidebarProps) {
4545
const filterFormRef = useRef<HTMLFormElement>(null);
46-
const [pendingSelections, setPendingSelections] =
47-
useState<Transform>(transform);
46+
const [pendingSelections, setPendingSelections] = useState<Transform>(
47+
() => transform,
48+
);
4849

4950
// Sync pendingSelections with transform when transform changes
5051
useEffect(() => {
@@ -155,26 +156,28 @@ export default function Sidebar({
155156
label='Show obsolete'
156157
value='showObsolete'
157158
name='showObsolete'
158-
checked={pendingSelections['showObsolete'] === 'true'}
159+
checked={pendingSelections.showObsolete === 'true'}
159160
onChange={(checked) =>
160161
setPendingSelections((prev) => ({
161162
...prev,
162163
showObsolete: checked ? 'true' : 'false',
163164
}))
164165
}
165166
/>
167+
166168
<Checkbox
167169
label='Support Bowtie'
168170
value='supportsBowtie'
169171
name='supportsBowtie'
170-
checked={pendingSelections['supportsBowtie'] === 'true'}
172+
checked={pendingSelections.supportsBowtie === 'true'}
171173
onChange={(checked) =>
172174
setPendingSelections((prev) => ({
173175
...prev,
174176
supportsBowtie: checked ? 'true' : 'false',
175177
}))
176178
}
177179
/>
180+
178181
<div className='w-full flex items-center justify-between mt-4 gap-2'>
179182
<Button
180183
type='submit'

0 commit comments

Comments
 (0)