From 51d2706de55449b95158759362275c9b768824a4 Mon Sep 17 00:00:00 2001 From: Benedikt Werner <1benediktwerner@gmail.com> Date: Sat, 26 Jun 2021 09:34:51 +0200 Subject: [PATCH] Fix setup fen validation --- ui/lobby/css/_setup.scss | 2 -- ui/lobby/src/setup.ts | 10 ++++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ui/lobby/css/_setup.scss b/ui/lobby/css/_setup.scss index cab0bf35c8..1eff0ecf5b 100644 --- a/ui/lobby/css/_setup.scss +++ b/ui/lobby/css/_setup.scss @@ -66,8 +66,6 @@ $c-slider: $c-setup; } .fen_position { - display: none; - .board_editor { display: block; width: 50%; diff --git a/ui/lobby/src/setup.ts b/ui/lobby/src/setup.ts index d0d1ecd50c..15587d4872 100644 --- a/ui/lobby/src/setup.ts +++ b/ui/lobby/src/setup.ts @@ -162,9 +162,10 @@ export default class Setup { } $rated.prop('disabled', !!cantBeRated).siblings('label').toggleClass('disabled', cantBeRated); const timeOk = timeMode != '1' || limit > 0 || inc > 0, - aiOk = typ != 'ai' || variantId != '3' || limit >= 1 || timeMode != '1'; + aiOk = typ != 'ai' || variantId != '3' || limit >= 1 || timeMode != '1', + fenOk = variantId !== '3' || $fenInput.hasClass('success'); const disable = ($e: Cash, d: boolean) => $e.prop('disabled', d).toggleClass('disabled', d); - if (timeOk && aiOk) { + if (timeOk && aiOk && fenOk) { disable($submits, false); if (rated && randomColorVariants.includes(variantId)) { disable($submits.filter(':not(.random)'), true); @@ -394,13 +395,13 @@ export default class Setup { $fenPosition.find('a.board_editor').each(function (this: HTMLAnchorElement) { this.href = this.href.replace(/editor\/.+$/, 'editor/' + fen); }); - $submits.removeClass('nope'); + toggleButtons(); lichess.contentLoaded(); }, _ => { $fenInput.addClass('failure'); $fenPosition.find('.preview').html(''); - $submits.addClass('nope'); + toggleButtons(); } ); } @@ -415,6 +416,7 @@ export default class Setup { $modeChoicesWrap.toggle(!isFen); if (isFen) { $casual.trigger('click'); + validateFen(); requestAnimationFrame(() => document.body.dispatchEvent(new Event('chessground.resize'))); } showRating();