| 1194 | private browsingtime: number | undefined = Date.now(); |
| 1195 | |
| 1196 | private presence(info, sender, sendResponse) { |
| 1197 | try { |
| 1198 | if (info.action === 'presence') { |
| 1199 | console.log('Presence requested', info, this.curState); |
| 1200 | |
| 1201 | // Reset browsingTime if not in focus for more than 5 min |
| 1202 | clearTimeout(browsingTimeout); |
| 1203 | browsingTimeout = setTimeout( |
| 1204 | () => { |
| 1205 | this.browsingtime = undefined; |
| 1206 | }, |
| 1207 | 5 * 60 * 1000, |
| 1208 | ); |
| 1209 | if (!this.browsingtime) this.browsingtime = Date.now(); |
| 1210 | |
| 1211 | // Cover |
| 1212 | let presenceShowCover = true; |
| 1213 | let presenceHidePage = true; |
| 1214 | |
| 1215 | const option = api.settings.get('presenceLargeImage'); |
| 1216 | |
| 1217 | switch (option) { |
| 1218 | case 'website': |
| 1219 | presenceShowCover = false; |
| 1220 | presenceHidePage = false; |
| 1221 | break; |
| 1222 | |
| 1223 | case 'malsync': |
| 1224 | presenceShowCover = false; |
| 1225 | presenceHidePage = true; |
| 1226 | break; |
| 1227 | |
| 1228 | default: |
| 1229 | break; |
| 1230 | } |
| 1231 | |
| 1232 | let clientId = '606504719212478504'; |
| 1233 | if (api.settings.get('presenceActivityName') === 'type') { |
| 1234 | if (this.page.type !== 'anime') { |
| 1235 | clientId = '823563138669608980'; |
| 1236 | } else { |
| 1237 | clientId = '823563096747802695'; |
| 1238 | } |
| 1239 | } |
| 1240 | |
| 1241 | let largeImageKeyTemp; |
| 1242 | let largeImageTextTemp; |
| 1243 | if (!presenceHidePage) { |
| 1244 | largeImageKeyTemp = this.page.name.toLowerCase(); |
| 1245 | largeImageTextTemp = `${this.page.name} • MAL-Sync`; |
| 1246 | } else { |
| 1247 | largeImageKeyTemp = 'malsync'; |
| 1248 | largeImageTextTemp = 'MAL-Sync'; |
| 1249 | } |
| 1250 | |
| 1251 | if (presenceShowCover && this.singleObj.getImage()) { |
| 1252 | largeImageKeyTemp = this.singleObj.getImage(); |
| 1253 | } |