diff --git a/ts/gestionnaire.ts b/ts/gestionnaire.ts index 5e79849..b5e3327 100644 --- a/ts/gestionnaire.ts +++ b/ts/gestionnaire.ts @@ -194,14 +194,13 @@ export default class Gestionnaire { } if (this._grille) { - if (this._input) this._input.bloquer(ContexteBloquage.ValidationMot); this._grille.validerMot(mot, resultats, isBonneReponse, chargementPartie, () => { if (this._input) { this._input.updateClavier(resultats); if (isBonneReponse || this._propositions.length === this._maxNbPropositions) { - this._input.bloquer(ContexteBloquage.ValidationMot); this._finDePartiePanel.afficher(); } else { + // La partie n'est pas fini, on débloque this._input.debloquer(ContexteBloquage.ValidationMot); } } diff --git a/ts/input.ts b/ts/input.ts index 905774b..8777a42 100644 --- a/ts/input.ts +++ b/ts/input.ts @@ -165,9 +165,13 @@ export default class Input { private async validerMot(): Promise { if (this.estBloque()) return; + this.bloquer(ContexteBloquage.ValidationMot); let mot = this._motSaisi; let isMotValide = await this._gestionnaire.verifierMot(mot); - if (isMotValide) this._motSaisi = ""; + if (isMotValide) { + // Si le mot est valide, alors c'est la grille qui nous débloque + this._motSaisi = ""; + } else this.debloquer(ContexteBloquage.ValidationMot); } private saisirLettre(lettre: string): void {