@@ -34,13 +34,10 @@ presence.on('UpdateData', async () => {
3434 name : 'AnimeKAI' ,
3535 largeImageKey : ActivityAssets . Logo ,
3636 startTimestamp : browsingTimestamp ,
37-
3837 }
39- const { pathname, href, hostname } = document . location
38+ const { pathname, href } = document . location
4039 const buttons = await presence . getSetting < boolean > ( 'buttons' )
4140
42- const isNewDomain = hostname . includes ( 'animekaitv' )
43-
4441 if ( pathname === '/' || pathname === '/home' ) {
4542 presenceData . details = 'Exploring AnimeKAI'
4643 }
@@ -69,9 +66,10 @@ presence.on('UpdateData', async () => {
6966 else if ( pathname . startsWith ( '/az-list' ) ) {
7067 presenceData . details = 'Looking at Anime list'
7168 if ( pathname !== '/az-list' ) {
72- presenceData . state = `Titles starting with ${ pathname . substring ( 9 ) === 'other'
73- ? 'Other characters'
74- : `${ pathname . substring ( 9 ) } `
69+ presenceData . state = `Titles starting with ${
70+ pathname . substring ( 9 ) === 'other'
71+ ? 'Other characters'
72+ : `${ pathname . substring ( 9 ) } `
7573 } `
7674 }
7775 presenceData . smallImageKey = Assets . Search
@@ -107,63 +105,17 @@ presence.on('UpdateData', async () => {
107105 }
108106 }
109107 else if ( pathname . startsWith ( '/watch' ) ) {
110- let title = document . querySelector < HTMLLIElement > (
108+ const title = document . querySelector < HTMLLIElement > (
111109 'li.breadcrumb-item.active' ,
112110 )
113-
114- if ( ! title ) {
115- title = document . querySelector < HTMLHeadingElement > (
116- 'h1.title.d-title, h1.d-title, h2.film-name, h1.film-name' ,
117- ) as any
118- }
119-
120- let episode : string | null = null
121-
122- if ( isNewDomain ) {
123- const epMatch = pathname . match ( / \/ e p - ( \d + ) / )
124- if ( epMatch && epMatch [ 1 ] ) {
125- episode = epMatch [ 1 ]
126- }
127- }
128- else {
129- const hashMatch = window . location . hash . match ( / # e p = ( \d + ) / )
130- if ( hashMatch ) {
131- episode = hashMatch [ 1 ] ?? null
132- }
133-
134- const episodeSpan = document . querySelector < HTMLSpanElement > (
135- '.eplist .range li a.active span' ,
136- )
137- if ( ! episode && episodeSpan ) {
138- episode = episodeSpan ?. previousSibling ?. nodeValue ?. trim ( ) || null
139- }
140- }
141-
142- if ( ! episode ) {
143- const epElement = document . querySelector ( '.episode-number, .ep-number, .current-episode' )
144- if ( epElement ) {
145- const epText = epElement . textContent ?. match ( / \d + / )
146- if ( epText )
147- episode = epText [ 0 ]
148- }
149- }
150-
151- let thumbnail = document . querySelector < HTMLImageElement > (
111+ const episodeSpan = document . querySelector < HTMLSpanElement > (
112+ '.eplist .range li a.active span' ,
113+ )
114+ const episode = episodeSpan ?. previousSibling ?. nodeValue ?. trim ( ) || null
115+ const thumbnail = document . querySelector < HTMLImageElement > (
152116 '.poster > div > img' ,
153117 ) ?. src
154118
155- if ( ! thumbnail ) {
156- thumbnail = document . querySelector < HTMLImageElement > (
157- 'img[itemprop="image"]' ,
158- ) ?. src
159- }
160-
161- if ( ! thumbnail ) {
162- thumbnail = document . querySelector < HTMLImageElement > (
163- '#ani_detail > div > div > div.anis-content > div.anisc-poster > div > img, .anime-poster img, .video-poster img' ,
164- ) ?. src
165- }
166-
167119 presenceData . largeImageKey = thumbnail
168120 if ( title )
169121 presenceData . details = title . textContent
@@ -226,21 +178,11 @@ presence.on('UpdateData', async () => {
226178 presenceData . smallImageKey = ActivityAssets . Settings
227179 break
228180 }
229- case '/member/users/settings' : {
230- presenceData . details = 'Managing Settings'
231- presenceData . smallImageKey = ActivityAssets . Settings
232- break
233- }
234181 case '/user/profile' : {
235182 presenceData . details = 'Editing Profile'
236183 presenceData . smallImageKey = ActivityAssets . Settings
237184 break
238185 }
239- case '/member/users/profile' : {
240- presenceData . details = 'Editing Profile'
241- presenceData . smallImageKey = ActivityAssets . Settings
242- break
243- }
244186 case '/user/watching' : {
245187 presenceData . details = 'Viewing Continue Watching'
246188 presenceData . smallImageKey = Assets . Viewing
@@ -251,11 +193,6 @@ presence.on('UpdateData', async () => {
251193 presenceData . smallImageKey = Assets . Downloading
252194 break
253195 }
254- case '/member/mal' : {
255- presenceData . details = 'MAL/AL Import'
256- presenceData . smallImageKey = Assets . Downloading
257- break
258- }
259196 case '/user/export' : {
260197 presenceData . details = 'MAL/AL Export'
261198 presenceData . smallImageKey = Assets . Uploading
@@ -277,17 +214,6 @@ presence.on('UpdateData', async () => {
277214 presenceData . smallImageKey = Assets . Reading
278215 break
279216 }
280- case '/member/notifications' : {
281- const type = new URLSearchParams ( document . location . search ) . get ( 'type' )
282- if ( type === 'community' ) {
283- presenceData . details = 'Looking at Community Notifications'
284- }
285- else {
286- presenceData . details = 'Looking at Anime Notifications'
287- }
288- presenceData . smallImageKey = Assets . Reading
289- break
290- }
291217 case '/user/bookmarks' : {
292218 presenceData . details = 'Managing Bookmarks'
293219 presenceData . smallImageKey = ActivityAssets . Settings
@@ -298,11 +224,6 @@ presence.on('UpdateData', async () => {
298224 presenceData . smallImageKey = Assets . Reading
299225 break
300226 }
301- case '/status/not-yet-aired' : {
302- presenceData . details = 'Looking at Upcoming'
303- presenceData . smallImageKey = Assets . Reading
304- break
305- }
306227 default : {
307228 const title = document . querySelector < HTMLHeadingElement > (
308229 'h2.film-name.dynamic-name' ,
0 commit comments