`refactor: extract per-facet reducers, filter chips, and tests into d…#5553
`refactor: extract per-facet reducers, filter chips, and tests into d…#5553fshowalter merged 12 commits intomainfrom
Conversation
|
Claude finished @fshowalter's task in 2m 19s —— View job PR Review
This is a large, well-structured refactor that extracts per-facet reducers, filter chips, and tests into dedicated modules. The architecture is clean and the code quality is high. Here are my findings: What Works Well
Observations / Minor Issues1.
return value.toLowerCase().replaceAll(" ", "-");This only converts spaces to hyphens. Values that already contain hyphens (e.g., an edition called This is likely a non-issue for the current set of known values (edition types, kind types, reviewedStatus are fixed enums), but worth noting if the value sets ever become user-driven. 2.
pendingFilterValues: omitPendingKey(state.pendingFilterValues, NAME_CHIP_ID),
This is a style concern rather than a bug. 3.
category: "Search",
displayText: `Search: ${trimmed}`,Both 4. Feature reducer exports are verbose
export { createApplyFiltersAction } from "~/facets/filtersReducer";
export { createClearFiltersAction } from "~/facets/filtersReducer";
export { createRemoveAppliedFilterAction } from "~/facets/filtersReducer";
// ...Seven individual export-from lines for filters alone. This is fully correct but could be collapsed: export {
createApplyFiltersAction,
createClearFiltersAction,
createRemoveAppliedFilterAction,
createResetFiltersAction,
selectHasPendingFilters,
} from "~/facets/filtersReducer";(Compare: 5.
const GRADE_STATE_KEY = "gradeValue" as const;Other reducers (title, name, reviewYear, workYear) pass the chip ID constant directly to SummaryThe refactor is clean and well-executed. The |
…edicated facets modules`
…lterChipBuilders abstraction`
…gacy filterers/sorters`
…veAppliedFilter for reviewYear clear`
… range filters at available bounds
…gination on sort/filter, and add selectedMonthDateReducer`
… constants in facet reducers`
…e-only imports across all facets`
…t directories and fix grade chip ID`
…edicated facets modules`