diff --git a/websites/0-9/9anime/metadata.json b/websites/0-9/9anime/metadata.json index 5a7984492dd6..2599674a47a0 100644 --- a/websites/0-9/9anime/metadata.json +++ b/websites/0-9/9anime/metadata.json @@ -11,13 +11,18 @@ }, "url": "9animetv.to", "regExp": "^https?[:][/][/]([a-z0-9-]+[.])*9animetv[.]to[/]", - "version": "1.1.0", + "version": "1.1.1", "logo": "https://cdn.rcd.gg/PreMiD/websites/0-9/9anime/assets/logo.png", "thumbnail": "https://cdn.rcd.gg/PreMiD/websites/0-9/9anime/assets/thumbnail.png", "color": "#A020F0", "category": "anime", - "tags": [ - "anime", - "streaming" + "tags": ["anime", "streaming"], + "settings": [ + { + "id": "usePresenceName", + "title": "Show Title as Presence", + "icon": "fad fa-user-edit", + "value": true + } ] } diff --git a/websites/0-9/9anime/presence.ts b/websites/0-9/9anime/presence.ts index 5be3d95a50f7..c9bcb7adb82c 100644 --- a/websites/0-9/9anime/presence.ts +++ b/websites/0-9/9anime/presence.ts @@ -14,6 +14,7 @@ presence.on('UpdateData', async () => { startTimestamp: browsingTimestamp, type: ActivityType.Watching, } + const usePresenceName = await presence.getSetting('usePresenceName') const { href, pathname, search } = document.location switch (true) { case pathname === '/': @@ -30,19 +31,37 @@ presence.on('UpdateData', async () => { presenceData.details = `Viewing genre: ${pathname.split('/')[2]}` break case pathname.includes('/watch/'): { - presenceData.details = document.title + const title = document.title .replace(/^Watch /, '') .replace(/ online free on 9anime$/, '') + const coverArt = document .querySelector('[class="anime-poster"]') ?.querySelector('img') ?.src + const episodeNumber = document .querySelector('[class="item ep-item active"]') ?.textContent ?.match(/[1-9]\d*/)?.[0] - presenceData.state = `Episode ${episodeNumber}` + if (usePresenceName) { + presenceData.name = title + + if (episodeNumber) { + presenceData.details = `Episode ${episodeNumber}` + } + else { + presenceData.details = 'Watching' + } + } + else { + presenceData.details = title + + if (episodeNumber) { + presenceData.state = `Episode ${episodeNumber}` + } + } presenceData.largeImageKey = coverArt ?? ActivityAssets.Logo presenceData.buttons = [ {