Use the full lobby width for the expanded problem picker
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
Research direction
Start with web/index.html and .setup-grid in web/styles.css to trace the picker’s placement and current layout; check scripts/gen-problem-cards.py for generated markup constraints. Add browser coverage for desktop width, card sizing, narrow overflow, filtering, selection, long titles, and keyboard access, then run the generated problem-card check. Done means the expanded picker spans the content width, cards wrap without overflow, and existing picker behavior remains intact.
Written by the indexing model from the issue text.
Description
Current behavior
At revision 4faffce, details.problem-picker in web/index.html is nested inside the first .setup-panel. Above 1100 CSS pixels, .setup-grid in web/styles.css displays the three setup panels side by side, restricting the expanded picker to the first panel's width. In the wide-window screenshot below, this produces a long single-column list while space below the other panels remains unused.
At 760 CSS pixels or below, the setup panels stack vertically. The picker then occupies the available row width and can display multiple cards per row when space permits.
Wide window:
Narrower window:
Expected behavior
When expanded, the problem picker spans the lobby's content width below the three setup panels. Cards use a fixed width when space permits and wrap into additional rows. On screens narrower than one card, cards fit the available width without horizontal overflow. Heights accommodate long titles.
Proposed change
Move details.problem-picker out of the first .setup-panel and place it below the setup panels in web/index.html. Update .lobby .problem-grid in web/styles.css to use fixed-width columns instead of stretching cards to fill each row.
Preserve difficulty and topic filtering, problem selection, source-title visibility, and collapse behavior. Keep the generated card markup compatible with scripts/gen-problem-cards.py.
Add browser tests confirming that the expanded picker spans the content width on desktop, cards retain their width when space permits, and narrow layouts do not overflow. Cover filtering, selection, long titles, and keyboard access, and run the generated problem-card check.
PR #15 introduced the collapsible problem list. This proposal preserves that behavior and changes only the expanded layout.
I plan to implement this change and add regression tests. Please assign this issue to me.
- Dominant language
- Rust
- Stars
- 177
- Forks
- 100
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 182
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sysprog21/codetrial
-
Selecting a pen color leaves Example drawing in eraser modePossibly taken @Aa99841 claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sysprog21/codetrial#437 · 4 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Python tests lose every result when the solution returns inf or NaNPossibly taken @shensyuan claimed this 2 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
sysprog21/codetrial#419 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Allow deselecting a chosen problem card by clicking it againPossibly taken @woohsin claimed this 2 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
sysprog21/codetrial#392 · 4 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Audio output can be confirmed without playing a test soundPossibly taken @ChenYingHan1121 claimed this 5 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
sysprog21/codetrial#359 · 5 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Add a Copy code button to the final reportPossibly taken @yansawu claimed this 5 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
sysprog21/codetrial#318 · 6 comments · 2 reactions · 1 assignee ·
Maintainers usually reply within 1 day
All issues in sysprog21/codetrial
Similar issues
-
checkpoint/verify/rebuild_indexes on a thread holding a WriteTransaction deadlock instead of INT-001Openbug known-issue
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
project-minigraf/minigraf#734 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Maintainers usually reply within 4 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
bug CLI documentation
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
openai/codex#56630 · 3 comments · 3 reactions ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
DayuanJiang/PecoFence#139 ·
Maintainers usually reply within 1 day