Skip to content

Browse filters: scrollable lists, Solver Complexity facet, Classical/Quantum grouping - #249

Open
Trosper3 wants to merge 1 commit into
ReduxAPI_GUIfrom
feature/browse-filter-enhancements
Open

Browse filters: scrollable lists, Solver Complexity facet, Classical/Quantum grouping#249
Trosper3 wants to merge 1 commit into
ReduxAPI_GUIfrom
feature/browse-filter-enhancements

Conversation

@Trosper3

Copy link
Copy Markdown
Contributor

Improves the Browse page's filter sidebar with scrollable option lists, a new Solver Complexity filter, and clearer grouping of complexity classes.

Features

  • The Complexity Class, Solver Type, and Visualization Type filter lists now scroll within a fixed-height box instead of stretching the whole sidebar taller as more options are added.
  • Added a new "Solver Complexity" filter section (right below Solver Type) that lets you narrow problems down by how their solvers scale — Polynomial, Exponential, Factorial, or Unclassified.
  • The Complexity Class list now shows "Classical" and "Quantum" section labels so it's clear at a glance which complexity classes belong to which group.

What to Check

  1. Go to the Browse page.
  2. In the sidebar, confirm the Complexity Class, Solver Type, and Visualization Type lists each scroll internally (rather than growing the page) once they have enough options to overflow.
  3. Confirm a new "Solver Complexity" section appears just below "Solver Type", with checkboxes for values like Polynomial/Exponential/Factorial/Unclassified.
  4. Check a box in the new Solver Complexity section and confirm the problem results on the right update to match.
  5. In the Complexity Class list, confirm you see a "Classical" label above the classical classes (P, NP, NP-Complete, NP-Hard) and a "Quantum" label above the quantum classes (EQP, BQP, QCMA, QMA, QIP, MIP*).
  6. Click "Clear filters" and confirm the new Solver Complexity selection is also cleared.

Issue Handling

Closes #248

…uantum grouping to Browse

Adds a scrollable option (opt-in, used by Complexity Class/Solver Type/
Visualization Type) to FacetFilterGroup so long checkbox lists no longer grow
the whole sidebar. Adds a new Solver Complexity facet, mirroring the existing
Solver Type pattern end to end (useProblemIndex, useProblemFilters,
solverComplexityOrder.js, browse page wiring). Adds an opt-in groupBy prop to
FacetFilterGroup and uses it on Complexity Class to render "Classical"/
"Quantum" subheadings between the two option groups.
@github-actions

Copy link
Copy Markdown

Redux Build System — CI Report

npm · commit 66c5941

Operation Status Summary Time
audit 1 high · 1 moderate 0.9s
format-check 60 format · 33 import order 0.5s
lint 24 errors, 41 warnings 8.2s
typecheck ⏭️ no tsconfig.json
unit-test ⏭️ no test script in package.json
build built local/redux_gui:ci · 235MB 63.1s
integration-test 1 failed · 3 passed 17.8s
push not run — integration-test failed

Overall: ❌ 1 passed · 4 failed · 2 skipped · 1 blocked

❌ audit — 1 high · 1 moderate
Severity Location Rule Message
high svgo@3.0.0 - 3.3.4 GHSA-2p49-hgcm-8545 SVGO removeScripts plugin leaves some executable scripts intact
moderate baseline-browser-mapping@>=2.0.0 <2.11.0 GHSA-w5vr-8v7q-w6rv baseline-browser-mapping process termination on invalid input causes denial of service
❌ format-check — 60 format · 33 import order
Severity Location Rule Message
error Tools/Constants.js format needs formatting
error Tools/ProblemInstanceParser.js format needs formatting
error biome.json format needs formatting
error components/ContributorCard.js format needs formatting
error components/Quantum/QuantumCircuitVisualizer.js assist/source/organizeImports Sort these imports.
error components/Quantum/QuantumCircuitVisualizer.js format needs formatting
error components/Quantum/circuitUtils.js format needs formatting
error components/Visualization/Graphvisualization.js format needs formatting
error components/Visualization/GraphvizWrapper.js assist/source/organizeImports Sort these imports.
error components/Visualization/QuantumCircuitVis.js assist/source/organizeImports Sort these imports.
error components/Visualization/QuantumCircuitVis.js format needs formatting
error components/Visualization/ReducedVisualization.js format needs formatting
error components/Visualization/constants/VisColors.js format needs formatting
error components/Visualization/constants/VisColorsArray.js assist/source/organizeImports Sort the exported names.
error components/Visualization/constants/VisColorsArray.js format needs formatting
error components/Visualization/openqasmToQText.js format needs formatting
error components/Visualization/svgs/DynamicTableSvgReact.js format needs formatting
error components/Visualization/svgs/LaTeXGraphSvgReact.js format needs formatting
error components/Visualization/svgs/No_Viz_SVG.js assist/source/organizeImports Sort these imports.
error components/Visualization/svgs/No_Viz_SVG.js format needs formatting
… and 74 more
❌ lint — 24 errors, 41 warnings
Severity Location Rule Message
error components/Visualization/QuantumCircuitVis.js:152 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/hooks/ProblemProvider/Problem.js:51 no-undef 'requestInfo' is not defined.
error components/hooks/ProblemProvider/Problem.js:73 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/hooks/ProblemProvider/Reducer.js:132 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/hooks/ProblemProvider/Reducer.js:152 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/hooks/ProblemProvider/Reducer.js:171 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/hooks/ProblemProvider/Reducer.js:190 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/hooks/ProblemProvider/Reducer.js:211 react-hooks/immutability Error: Cannot access variable before it is declared
error components/hooks/ProblemProvider/Reducer.js:215 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/hooks/ProblemProvider/Reducer.js:51 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/hooks/ProblemProvider/Reducer.js:74 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/hooks/ProblemProvider/Solver.js:122 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/hooks/ProblemProvider/Solver.js:24 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/hooks/ProblemProvider/Verifier.js:87 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/pageblocks/ProblemRowReact.js:177 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/pageblocks/ProblemRowReact.js:186 react-hooks/immutability Error: This value cannot be modified
error components/pageblocks/VerifyRowReact.js:52 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/pageblocks/VerifyRowReact.js:58 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/pageblocks/VisualizeRowReact.js:141 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
error components/pageblocks/VisualizeRowReact.js:145 react-hooks/set-state-in-effect Error: Calling setState synchronously within an effect can trigger cascading renders
… and 45 more

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Browse filters: scrollable dropdowns, new Solver Complexity facet, Classical/Quantum grouping

1 participant