diff --git a/websites/A/Anime Sama/iframe.ts b/websites/A/Anime Sama/iframe.ts index 6dee01e1edb8..3dce46b55a6d 100644 --- a/websites/A/Anime Sama/iframe.ts +++ b/websites/A/Anime Sama/iframe.ts @@ -2,7 +2,7 @@ const iframe = new iFrame(); iframe.on("UpdateData", async () => { const video = document.querySelector("video"); - if (!isNaN(video?.duration)) { + if (video && !isNaN(video.duration)) { iframe.send({ currentTime: video.currentTime, duration: video.duration, diff --git a/websites/A/Anime Sama/metadata.json b/websites/A/Anime Sama/metadata.json index 58e5b0e78b4a..65b0bf705232 100644 --- a/websites/A/Anime Sama/metadata.json +++ b/websites/A/Anime Sama/metadata.json @@ -30,7 +30,7 @@ "vostfr" ], "iframe": true, - "iFrameRegExp": ".*((sendvid)|(sibnet)|(myvi)).*", + "iFrameRegExp": ".*", "settings": [ { "id": "buttons", diff --git a/websites/A/Anime Sama/presence.ts b/websites/A/Anime Sama/presence.ts index f305512e307f..a5b6739feae5 100644 --- a/websites/A/Anime Sama/presence.ts +++ b/websites/A/Anime Sama/presence.ts @@ -12,19 +12,18 @@ const enum Assets { Logo = "https://cdn.rcd.gg/PreMiD/websites/A/Anime%20Sama/assets/logo.png", } -interface IFrameData { - duration: number; - currentTime: number; - paused: boolean; -} - -let duration: number, - currentTime: number, - paused = true; +let video = { + duration: 0, + currentTime: 0, + paused: true, +}; -presence.on("iFrameData", (data: IFrameData) => { - ({ duration, currentTime, paused } = data); -}); +presence.on( + "iFrameData", + (data: { duration: number; currentTime: number; paused: boolean }) => { + if (data?.duration) video = data; + } +); presence.on("UpdateData", async () => { const presenceData: PresenceData = { @@ -73,21 +72,28 @@ presence.on("UpdateData", async () => { presenceData.details = `Regarde ${ document.querySelector("#titreOeuvre").textContent }`; + const [startTimestamp, endTimestamp] = presence.getTimestamps( + video.currentTime, + video.duration + ); presenceData.state = `${season ? `${season} - ` : ""}${ selectEps.options[selectEps.selectedIndex].value }`; presenceData.buttons = [{ label: "Voir l'Anime", url: href }]; - presenceData.smallImageKey = Assets.Pause; + presenceData.smallImageKey = video.paused ? Assets.Pause : Assets.Play; presenceData.smallImageText = selectLecteur.options[selectLecteur.selectedIndex].value; presenceData.largeImageKey = document.querySelector("[property='og:image']") ?.content ?? Assets.Logo; - if (!paused) { - [presenceData.startTimestamp, presenceData.endTimestamp] = - presence.getTimestamps(currentTime, duration); - presenceData.smallImageKey = Assets.Play; + [presenceData.startTimestamp, presenceData.endTimestamp] = [ + startTimestamp, + endTimestamp, + ]; + if (video.paused) { + delete presenceData.startTimestamp; + delete presenceData.endTimestamp; } if (privacyMode) { delete presenceData.state; diff --git a/websites/V/Voiranime/metadata.json b/websites/V/Voiranime/metadata.json index 9333cdb5202f..6b20e6d8a088 100644 --- a/websites/V/Voiranime/metadata.json +++ b/websites/V/Voiranime/metadata.json @@ -45,17 +45,17 @@ "id": "lang", "multiLanguage": true }, - { - "id": "buttons", - "title": "Show Buttons", - "icon": "fas fa-compress-arrows-alt", - "value": true - }, { "id": "privacy", "title": "Privacy Mode", "icon": "fad fa-user-secret", "value": false + }, + { + "id": "buttons", + "title": "Show Buttons", + "icon": "fas fa-compress-arrows-alt", + "value": true } ] } \ No newline at end of file