Show coordinates labels all 64 squares instead of the board edges
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- css, javascript
- Domain
- frontend
Research direction
The coordinate rules are in css/board.css around lines 14-104, where .square::before sets the file letter from data-col and .square::after sets the rank number from data-row for every square. Read js/board.js to see how squares and the flipped class are created, then restrict the labels to the edge squares, flipping the edges under .chess-board.flipped. Done means 8 file letters and 8 rank numbers show with coordinates on, they follow Flip board, and they stay visible on last-move and move-dot squares; tests/unit/settings.test.js is the relevant test file, run with npm test.
Written by the indexing model from the issue text.
Description
Summary
With "Show coordinates" on, every one of the 64 squares gets both a file letter and a rank number. The board fills with 126 small labels, where chess boards normally label only the bottom rank and one side file.
Where
css/board.css:14-104(the.square::beforeand.square::aftercoordinate rules)
Details
The file letter is set by data-col and the rank number by data-row for all squares:
.square[data-col='0']::before {
content: 'a';
}
/* ... */
.square[data-row='7']::after {
content: '1';
}
The comment at line 98, "Hide file coordinate on a1 and rank coordinate on h8 for less clutter", suggests the labels were meant for the edges only, but no rule limits them to the edge squares.
Two side effects of using the squares' pseudo-elements for this:
- The last-move tint uses
::before, so the file letter is not shown on the two squares of the last move. - The move dot uses
::after, so the rank number is not shown on squares a selected piece can move to.
Impact
Players who turn coordinates on, which is most useful to beginners and to anyone following along with notation. The labels are hard to scan and partly disappear during play.
Suggested fix
Show file letters only on the rank nearest the player and rank numbers only on one side file, following the board when it is flipped. For example, restrict the rules to .square[data-row='7']::before and .square[data-col='0']::after (and the opposite edges under .chess-board.flipped). Since those edge squares still share pseudo-elements with the last-move tint and the move dot, consider drawing coordinates in their own elements, or outside the board edge, so they never get replaced.
Acceptance criteria
- With coordinates on, 8 file letters and 8 rank numbers are shown, on the edges nearest the player
- They follow the board when "Flip board" is on
- They stay visible on last-move squares and on squares showing a move dot
Getting started
- Relevant files:
css/board.css,js/board.js(how squares and the flipped class are created),tests/unit/settings.test.js - How to run tests:
npm test
Filed by repo-audit/ui-rework at 0144de7. Severity: low. Effort: S. audit-key: enhancement|css/board.css|show-coords
- Dominant language
- JavaScript
- Stars
- 4
- Forks
- 2
- Avg merge
- 4h 8m
- Merged PRs (30d)
- 1
Getting set up
- No Dockerfile or Docker Compose file
- Has a 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 TMHSDigital/Static_Chess
-
documentation good first issue severity: low
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
TMHSDigital/Static_Chess#79 ·
-
enhancement good first issue severity: low
Difficulty 1/5 Under an hour Newbie friendliness 88/100
TMHSDigital/Static_Chess#77 ·
-
enhancement good first issue severity: low
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
TMHSDigital/Static_Chess#76 ·
-
enhancement good first issue severity: low
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
TMHSDigital/Static_Chess#75 ·
-
documentation good first issue severity: low
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
TMHSDigital/Static_Chess#49 ·
All issues in TMHSDigital/Static_Chess
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
discovery:other factory-active task-identify-harness-labels-done task-identify-issue-type-done
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
vercel/ai#25068 · 4 comments ·
Maintainers usually reply within 1 day
-
needs-triage typo
Difficulty 1/5 Under an hour Newbie friendliness 88/100
llm-d-incubation/llm-d-scaling-manager#122 ·
Maintainers usually reply within 1 day
-
create-strapi-app doesn't await writing license.txt, so a failed write skips its error handlingOpenflag: invalid template issue: bug severity: low source: cli status: pending reproduction version: 5
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
strapi/strapi#28637 · 1 comment ·
Maintainers usually reply within 2 days