Skip to content

Conversation

@yahya-lafhal
Copy link
Contributor

Resolves #14762

My approach is to add a new toggle like the "playing" or "eval" one. If it is set to true (default value), everything is the same as it is currently. If it is set to false, we :

  • Hide the results (1, 0, 1/2) on the mini chessboards
  • Hide the results on the round info tab (on the left of the page)
  • Put the initial chess position in the mini chessboards

Let me know if I need to change or add something !

@ornicar
Copy link
Collaborator

ornicar commented Dec 25, 2024

image

the boards on initial position are superfluous; they add no information, the board grid now only duplicates the games list on the left. The initial position is also wrong in chess960 tournaments. Not sure what to do about it.

@ornicar
Copy link
Collaborator

ornicar commented Dec 25, 2024

the clocks on the game list are hidden by the setting, but not on the boards grid.

image

image

@ornicar
Copy link
Collaborator

ornicar commented Dec 25, 2024

I suppose in no-results mode, clicking a board should lead to the initial position, not the current or final position.

@ornicar
Copy link
Collaborator

ornicar commented Dec 25, 2024

The toggle state is not persisted yet

@ornicar
Copy link
Collaborator

ornicar commented Dec 25, 2024

The eval gauges of the current/last position are still visible

@yahya-lafhal
Copy link
Contributor Author

yahya-lafhal commented Dec 28, 2024

The clocks are now also hidden in the boards grid. I made the toggle persistent and made the eval gauges invisible if the results toggle is off. I will try soon to make the click on a board take to the initial position when having the results toggle to off. For the boards grid initial positions, I don't really know what we could do, maybe a blur or a "no spoil" image or something like this ?

) {
this.playing = toggle(false, this.redraw);
this.showResults = toggle(true, this.redraw);
this.showResults = storedBooleanProp("study.showResults", true);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this.redraw has been dropped? it wasn't necessary?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to be working fine without it, I will test it more to make sure it's not needed.

@ornicar
Copy link
Collaborator

ornicar commented Dec 29, 2024

For the boards grid initial positions, I don't really know what we could do, maybe a blur or a "no spoil" image or something like this ?

There's no good solution. We could try empty boards with, yeah, some sort of "no spoilers" ribbon or something

@yahya-lafhal
Copy link
Contributor Author

I tried something for the boards, they are now empty (no pieces) and there is a note before the grid telling the user that the previews are empty to avoid spoils. If this solution is good enough, I think we will just have to make the note translatable.

const componentCallbacks = () => {
if (!this.multiBoard.showResults())
{
this.ctrl.userJump(this.ctrl.initialPath)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

according to my tests, this flashes the current position, before reverting to the initial position.

@ornicar ornicar merged commit ed689c5 into lichess-org:master Jan 12, 2025
5 checks passed
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.

Toggle to Hide Broadcast Spoilers (Results / Position Preview)

2 participants