From d5509a5bef37e0bbc15e770ebd978da7170fc9ea Mon Sep 17 00:00:00 2001 From: JonathanMM Date: Sat, 19 Feb 2022 18:11:29 +0100 Subject: [PATCH] Fix #45 . Utilisation de l'api share si clipboard n'est pas disponible --- ts/finDePartiePanel.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/ts/finDePartiePanel.ts b/ts/finDePartiePanel.ts index d297776..3fdba24 100644 --- a/ts/finDePartiePanel.ts +++ b/ts/finDePartiePanel.ts @@ -58,12 +58,21 @@ export default class FinDePartiePanel { let resumeBouton = document.getElementById("fin-de-partie-panel-resume-bouton") as HTMLElement; resumeBouton.addEventListener("click", (event) => { event.stopPropagation(); - if (!navigator.clipboard) { - NotificationMessage.ajouterNotificationPanel("Votre navigateur n'est pas compatible"); - } + new Promise((resolve, reject) => { + if (window.navigator.clipboard !== undefined) { + return resolve(window.navigator.clipboard.writeText(this._resumeTexte + "\n\nhttps://sutom.nocle.fr")); + } - navigator.clipboard - .writeText(this._resumeTexte + "\n\nhttps://sutom.nocle.fr") + return reject(); + }) + .catch( + () => + new Promise((resolve, reject) => { + if (window.navigator.share !== undefined) return resolve(navigator.share({ text: this._resumeTexte + "\n\nhttps://sutom.nocle.fr" })); + + return reject(); + }) + ) .then(() => { NotificationMessage.ajouterNotificationPanel("Résumé copié dans le presse papier"); })