Skip to content

Commit

Permalink
feat(presense): add updated 9anime presence (#8612)
Browse files Browse the repository at this point in the history
* feat(presence): add 9anime presence v1.0

* feat(presence): add 9anime presence v1.0

* feat(presence): add 9anime presence v1.0

* fix(presence): bumped 9anime presence to version 1.0.1

* feat(presence): add 9anime presence v1.0.0

* feat(presence): add PR suggested changes

* feat(presence): add reverted changes

* feat(presence): add ran prettier

* feat(presence): add reverted changes to iBroadcast metadata.json

* feat(presence): add reverted changes to iBroadcast metadata.json

* feat(presence): add 9anime supported pages

---------

Signed-off-by: Julian <[email protected]>
  • Loading branch information
julianxchang authored Aug 8, 2024
1 parent 9c9dba6 commit 680e524
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 26 deletions.
2 changes: 1 addition & 1 deletion websites/0-9/9anime/metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"en": "9anime is a free anime website where millions visit to watch anime online."
},
"url": "9animetv.to",
"version": "1.0.1",
"version": "1.0.2",
"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",
Expand Down
104 changes: 79 additions & 25 deletions websites/0-9/9anime/presence.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,34 +10,88 @@ presence.on("UpdateData", async () => {
const presenceData: PresenceData = {
largeImageKey: Assets.Logo,
startTimestamp: browsingTimestamp,
type: ActivityType.Watching,
},
{ href, pathname, search } = document.location;
switch (true) {
case pathname === "/":
case pathname === "/home":
presenceData.details = "Viewing Homepage";
break;
case pathname === "/search":
presenceData.details = `Viewing results: ${search
.split("=")[1]
.replace(/\+/g, " ")}`;
presenceData.smallImageKey = Assets.Search;
break;
case pathname.includes("/genre/"):
presenceData.details = `Viewing genre: ${pathname.split("/")[2]}`;
break;
case pathname.includes("/watch/"): {
presenceData.details = document.title
.replace(/^Watch /, "")
.replace(/ online free on 9anime$/, "");
const coverArt = document
.querySelector<HTMLImageElement>('[class="anime-poster"]')
?.querySelector("img")?.src,
episodeNumber = document
.querySelector('[class="item ep-item active"]')
?.textContent?.match(/[1-9]{1}[0-9]{0,}/)?.[0];

if (pathname === "/" || pathname === "/home")
presenceData.details = "Viewing Homepage";
else if (pathname.includes("/search"))
presenceData.details = `Viewing results: ${search.split("=")[1]}`;
else if (pathname.includes("/watch/")) {
presenceData.details = document.title
.replace(/^Watch /, "")
.replace(/ online free on 9anime$/, "");
const coverArt = document
.querySelector<HTMLImageElement>('[class="anime-poster"]')
?.querySelector("img")?.src,
episodeNumber = document
.querySelector('[class="item ep-item active"]')
?.textContent?.match(/[1-9]{1}[0-9]{0,}/)?.[0];

presenceData.state = `Episode ${episodeNumber}`;
presenceData.largeImageKey = coverArt ?? Assets.Logo;
presenceData.buttons = [
{
label: "View Anime",
url: href,
},
];
presenceData.smallImageKey = coverArt ? Assets.Logo : "";
presenceData.state = `Episode ${episodeNumber}`;
presenceData.largeImageKey = coverArt ?? Assets.Logo;
presenceData.buttons = [
{
label: "View Anime",
url: href,
},
];
presenceData.smallImageKey = coverArt ? Assets.Logo : "";
break;
}
case pathname.includes("/az-list"):
presenceData.details = `Viewing AZ List: ${pathname.split("/")[2]}`;
presenceData.smallImageKey = Assets.Search;
break;
case pathname === "/movie":
presenceData.details = "Browsing movies...";
presenceData.smallImageKey = Assets.Search;
break;
case pathname === "/tv":
presenceData.details = "Browsing TV series...";
presenceData.smallImageKey = Assets.Search;
break;
case pathname === "/ova":
presenceData.details = "Browsing OVAs...";
presenceData.smallImageKey = Assets.Search;
break;
case pathname === "/ona":
presenceData.details = "Browsing ONAs...";
presenceData.smallImageKey = Assets.Search;
break;
case pathname === "/special":
presenceData.details = "Browsing specials...";
presenceData.smallImageKey = Assets.Search;
break;
case pathname === "/recently-updated":
presenceData.details = "Browsing recently updated anime...";
presenceData.smallImageKey = Assets.Search;
break;
case pathname === "/recently-added":
presenceData.details = "Browsing recently added anime...";
presenceData.smallImageKey = Assets.Search;
break;
case pathname === "/ongoing":
presenceData.details = "Browsing ongoing anime...";
presenceData.smallImageKey = Assets.Search;
break;
case pathname === "/upcoming":
presenceData.details = "Viewing upcoming anime...";
presenceData.smallImageKey = Assets.Search;
break;
default:
presenceData.details = "Browsing 9anime...";
break;
}

presence.setActivity(presenceData);
});

0 comments on commit 680e524

Please sign in to comment.