mirror of
https://framagit.org/JonathanMM/sutom.git
synced 2024-05-04 06:53:28 +02:00
48 lines
2.1 KiB
TypeScript
48 lines
2.1 KiB
TypeScript
import Configuration from "./entites/configuration";
|
||
import PanelManager from "./panelManager";
|
||
import Sauvegardeur from "./sauvegardeur";
|
||
|
||
export default class ReglesPanel {
|
||
private readonly _panelManager: PanelManager;
|
||
private readonly _rulesBouton: HTMLElement;
|
||
|
||
public constructor(panelManager: PanelManager) {
|
||
this._panelManager = panelManager;
|
||
this._rulesBouton = document.getElementById("configuration-regles-bouton") as HTMLElement;
|
||
|
||
this._rulesBouton.addEventListener(
|
||
"click",
|
||
(() => {
|
||
this.afficher();
|
||
}).bind(this)
|
||
);
|
||
}
|
||
|
||
public afficher(): void {
|
||
let titre = "Règles";
|
||
let contenu =
|
||
'<p> \
|
||
Vous avez six essais pour deviner le mot du jour.<br /> \
|
||
Vous ne pouvez proposer que des mots commençant par la même lettre que le mot recherché, et qui se trouvent dans notre dictionnaire.<br /> \
|
||
Les lettres entourées d\'un carré rouge sont bien placées,<br /> \
|
||
les lettres entourées d\'un cercle jaune sont mal placées (mais présentes dans le mot).<br /> \
|
||
Les lettres qui restent sur fond bleu ne sont pas dans le mot.<br /> \
|
||
Il y a un mot par jour, entre 6 et 9 lettres, et il est identique pour tout le monde. Évitez donc les spoils et privilégiez le bouton de partage.<br /> \
|
||
En cas de soucis, vous pouvez contacter <a href="https://twitter.com/Jonamaths">@Jonamaths</a> sur twitter. − \
|
||
<a target="_blank" href="https://framagit.org/JonathanMM/sutom">Page du projet</a><br /> \
|
||
Basé sur l\'excellent <a target="_blank" href="https://www.powerlanguage.co.uk/wordle/">Wordle</a> et le regretté Motus.<br /> \
|
||
Merci à Emmanuel pour l\'aide sur les mots à trouver, et à GaranceAmarante pour l\'aide sur le dictionnaire. \
|
||
</p>';
|
||
|
||
this._panelManager.setContenu(titre, contenu);
|
||
this._panelManager.setClasses(["regles-panel"]);
|
||
this._panelManager.setCallbackFermeture(() => {
|
||
Sauvegardeur.sauvegarderConfig({
|
||
...(Sauvegardeur.chargerConfig() ?? Configuration.Default),
|
||
afficherRegles: false,
|
||
});
|
||
});
|
||
this._panelManager.afficherPanel();
|
||
}
|
||
}
|