diff --git a/build/manifest.json b/build/manifest.json index 3e2287c..49e121a 100644 --- a/build/manifest.json +++ b/build/manifest.json @@ -1,7 +1,7 @@ { "name": "ShikiLink", "description": "Adds an external link to the Shikimori website to watch the anime.", - "version": "1.0.0", + "version": "1.0.2", "manifest_version": 3, "action": { "default_popup": "popup.html", diff --git a/build/static/js/anime365_content.js b/build/static/js/anime365_content.js index 33abfa0..47e5e3e 100644 --- a/build/static/js/anime365_content.js +++ b/build/static/js/anime365_content.js @@ -1,2 +1,2 @@ -!function(){"use strict";var e,t=0,n=0;chrome.runtime.onMessage.addListener((function(o){if(o&&"page-rendered-anime365"===o.type&&(clearInterval(e),n=0,document.getElementById("videoFrame"))){var r=document.getElementById("videoFrame"),a=r.contentWindow;e=setTimeout((function o(){var i=a.document.getElementsByClassName("vjs-play-progress").item(0).getAttribute("style").trim();if(t=parseInt(i.replace(/^width: ([0-9]{1,2})(.{0,1})?([0-9]{0,2})?%;$/,"$1")),r&&t>=96){var s=a.document.getElementById("answer_is_forty_two");if(s)++n>=25&&(document.location.href=document.getElementsByClassName("m-select-sibling-episode").item(0).getElementsByTagName("a").item(1).href),s.getElementsByTagName("a").item(0).style.setProperty("--width",100*n/25+"%");else{var l=document.createElement("div"),d=document.createElement("a"),m=document.createElement("span");l.id="answer_is_forty_two",m.innerText="\u0414\u0430\u043b\u0435\u0435",d.title="\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c",d.onclick=function(){var t;clearInterval(e),null===(t=a.document.getElementById("answer_is_forty_two"))||void 0===t||t.remove(),n=0},l.appendChild(d).appendChild(m),a.document.head.appendChild(document.createElement("style")).innerHTML='#answer_is_forty_two{background-color: #ff6d0033; border-radius: 2px; position:absolute; bottom:70px; right:20px; transform: translate(-50%, -50%);}#answer_is_forty_two a{display: block; cursor: pointer; width: 200px; height: 40px; line-height: 40px; font-size: 18px; font-family: sans-serif; text-decoration: none; color: #333;border: 1px solid #333;letter-spacing: 2px;text-align: center;position: relative;transition: all .35s;}#answer_is_forty_two a:after{position: absolute; content: ""; top: 0; left: 0; width: var(--width, 0); height: 100%; background: #ff6d00; transition: all .35s;}#answer_is_forty_two a:hover{color: #fff; background: #ff6d0088;}#answer_is_forty_two a span{position: relative; z-index: 2;}';var c=a.document.getElementsByClassName("vjs-control-bar").item(0);c.parentNode.insertBefore(l,c)}}else{var f;n=0,null===(f=a.document.getElementById("answer_is_forty_two"))||void 0===f||f.remove()}e=setTimeout(o,1e3)}),1e3)}}))}(); +!function(){"use strict";var e,t,o,n=0,i=0;chrome.runtime.onMessage.addListener((function(l){if(l&&"page-rendered-anime365"===l.type&&(clearInterval(e),document.getElementById("videoFrame"))){var a,d,r,s,m,u=document.getElementById("videoFrame"),v=u.contentWindow;if(null!==(a=document.getElementsByClassName("m-select-sibling-episode").item(0))&&void 0!==a&&a.getElementsByTagName("i").item(1))o=(null===(s=document.getElementsByClassName("m-select-sibling-episode").item(0))||void 0===s||null===(m=s.getElementsByTagName("a").item(1))||void 0===m?void 0:m.href)||"/";else if("chevron_right"===(null===(d=document.getElementsByClassName("m-select-sibling-episode").item(0))||void 0===d||null===(r=d.getElementsByTagName("i").item(0))||void 0===r?void 0:r.textContent)){var c,f;o=(null===(c=document.getElementsByClassName("m-select-sibling-episode").item(0))||void 0===c||null===(f=c.getElementsByTagName("a").item(0))||void 0===f?void 0:f.href)||"/"}else o="/";e=setTimeout((function l(){var a,d;if(n=(null===v||void 0===v||null===(a=v.document.getElementsByTagName("video").item(0))||void 0===a?void 0:a.currentTime)||0,i=(null===v||void 0===v||null===(d=v.document.getElementsByTagName("video").item(0))||void 0===d?void 0:d.duration)||0,u&&i-15<=n&&i>0&&n>0&&"/"!==o){var r=null===v||void 0===v?void 0:v.document.getElementById("answer_is_forty_two");if(r){var s;n===i&&"/"!==o&&(document.location.href=o),null===(s=r.getElementsByTagName("a").item(0))||void 0===s||s.style.setProperty("--width",100*(i-n-15)*-1/15+"%")}else{var m=document.createElement("div"),c=document.createElement("a"),f=document.createElement("span");m.id="answer_is_forty_two",f.innerText="\u0414\u0430\u043b\u0435\u0435",c.title="\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c",c.onclick=function(){var o,n;clearInterval(e),null===v||void 0===v||null===(o=v.document.getElementById("answer_is_forty_two"))||void 0===o||o.remove(),null===(n=t)||void 0===n||n.remove()},m.appendChild(c).appendChild(f),(t=null===v||void 0===v?void 0:v.document.head.appendChild(document.createElement("style"))).innerHTML='#answer_is_forty_two{background-color: #ff6d0033; position:absolute; bottom:10%; right:5%;}#answer_is_forty_two a{border-radius: 2px; display: block; cursor: pointer; width: 200px; height: 40px; line-height: 40px; font-size: 18px; font-family: sans-serif; text-decoration: none; color: #fff;border: 1px solid #fff;letter-spacing: 2px;text-align: center;position: relative;transition: all .35s;}#answer_is_forty_two a:after{border-radius: 2px; position: absolute; content: ""; top: 0; left: 0; width: var(--width, 0); height: 100%; background: #ff6d00; transition: all .35s;}#answer_is_forty_two a:hover{color: #fff; background: #ff6d0088;}#answer_is_forty_two a span{position: relative; z-index: 2;}';var g=null===v||void 0===v?void 0:v.document.getElementsByClassName("vjs-control-bar").item(0);g.parentNode.insertBefore(m,g)}}else{var p,y;null===v||void 0===v||null===(p=v.document.getElementById("answer_is_forty_two"))||void 0===p||p.remove(),null===(y=t)||void 0===y||y.remove()}e=setTimeout(l,500)}),500)}}))}(); //# sourceMappingURL=anime365_content.js.map \ No newline at end of file diff --git a/build/static/js/anime365_content.js.map b/build/static/js/anime365_content.js.map index 51fb4cc..233dd0d 100644 --- a/build/static/js/anime365_content.js.map +++ b/build/static/js/anime365_content.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/anime365_content.js","mappings":"yBACA,IAAIA,EACAC,EAAwB,EACxBC,EAAwB,EAC5BC,OAAOC,QAAQC,UAAUC,aAAY,SAAUC,GAE3C,GAAIA,GAA4B,2BAAjBA,EAAQC,OAEnBC,cAAcT,GAEdE,EAAgB,EAEZQ,SAASC,eAAe,eAAe,CACvC,IAAMC,EAAaF,SAASC,eAAe,cACrCE,EAA6BD,EAAYE,cAE/Cd,EAAUe,YAAW,SAASC,IAE1B,IAAMC,EAAMJ,EAAQH,SAASQ,uBAAuB,qBAAqBC,KAAK,GAAIC,aAAa,SAAUC,OAGzG,GAFApB,EAAgBqB,SAASL,EAAIM,QAAQ,gDAAiD,OAElFX,GAAcX,GAAiB,GAAI,CAEnC,IAAMuB,EAAYX,EAAQH,SAASC,eAAe,uBAElD,GAAKa,IA2BDtB,GACqB,KACjBQ,SAASe,SAASC,KAAOhB,SAASQ,uBAAuB,4BAA4BC,KAAK,GAAIQ,qBAAqB,KAAKR,KAAK,GAASO,MAG1IF,EAAUG,qBAAqB,KAAKR,KAAK,GAAIS,MAAMC,YAAY,UAA4B,IAAhB3B,EAAuB,GAAK,SAhC3F,CAEZ,IAAM4B,EAAMpB,SAASqB,cAAc,OAC7BC,EAAItB,SAASqB,cAAc,KAC3BE,EAAOvB,SAASqB,cAAc,QACpCD,EAAII,GAAK,sBACTD,EAAKE,UAAY,iCACjBH,EAAEI,MAAQ,6HACVJ,EAAEK,QAAU,WAAa,IAAD,EAEpB5B,cAAcT,GACwC,QAAtD,EAAAa,EAAQH,SAASC,eAAe,8BAAsB,OAAtD,EAAwD2B,SACxDpC,EAAgB,CACpB,EACA4B,EAAIS,YAAYP,GAAGO,YAAYN,GACbpB,EAAQH,SAAS8B,KAAKD,YAAY7B,SAASqB,cAAc,UACjEU,UAAY,+sBAMtB,IAAMC,EAAY7B,EAAQH,SAASQ,uBAAuB,mBAAmBC,KAAK,GACnEuB,EAAUC,WAClBC,aAAad,EAAKY,EAC7B,CASJ,KAAO,CAAC,IAAD,EAEHxC,EAAgB,EACsC,QAAtD,EAAAW,EAAQH,SAASC,eAAe,8BAAsB,OAAtD,EAAwD2B,QAC5D,CACAtC,EAAUe,WAAWC,EAAM,IAC/B,GAAG,IAEP,CAER,G","sources":["chromeServices/anime365_content.ts"],"sourcesContent":["export {}\r\nlet timerId: string | number | NodeJS.Timeout | undefined;\r\nlet countNextPage: number = 0;\r\nlet countTimerOut: number = 0;\r\nchrome.runtime.onMessage.addListener(function (request) {\r\n // Получаем сообщение от background что страница готова\r\n if (request && request.type === 'page-rendered-anime365') {\r\n //Очистим таймер если есть\r\n clearInterval(timerId);\r\n //Обнулим таймер перехода\r\n countTimerOut = 0;\r\n //Проверим наличие плеера\r\n if (document.getElementById(\"videoFrame\")) {\r\n const videoFrame = document.getElementById(\"videoFrame\")!;\r\n const iFrame = (videoFrame).contentWindow;\r\n //Запустим таймер\r\n timerId = setTimeout(function tick() {\r\n //Получим состояние полоски загрузки\r\n const str = iFrame!.document.getElementsByClassName(\"vjs-play-progress\").item(0)!.getAttribute(\"style\")!.trim();\r\n countNextPage = parseInt(str.replace(/^width: ([0-9]{1,2})(.{0,1})?([0-9]{0,2})?%;$/, \"$1\"));\r\n //Если просмотренно более 96% тайтла запускаем отображение пропуска\r\n if (videoFrame && countNextPage >= 96) {\r\n //Вернём наличие нашего блока\r\n const mainBlock = iFrame!.document.getElementById(\"answer_is_forty_two\");\r\n //Если блока нет\r\n if (!mainBlock) {\r\n //Созданим элементы блока\r\n const div = document.createElement('div');\r\n const a = document.createElement('a');\r\n const span = document.createElement('span');\r\n div.id = \"answer_is_forty_two\";\r\n span.innerText = \"Далее\";\r\n a.title = \"Нажмите чтобы отменить\";\r\n a.onclick = function () {\r\n //При нажатии на блок очистим таймер и удалим блок\r\n clearInterval(timerId);\r\n iFrame!.document.getElementById(\"answer_is_forty_two\")?.remove();\r\n countTimerOut = 0;\r\n }\r\n div.appendChild(a).appendChild(span);\r\n const styleElem = iFrame!.document.head.appendChild(document.createElement(\"style\"));\r\n styleElem.innerHTML = \"#answer_is_forty_two{background-color: #ff6d0033; border-radius: 2px; position:absolute; bottom:70px; right:20px; transform: translate(-50%, -50%);}\" +\r\n \"#answer_is_forty_two a{display: block; cursor: pointer; width: 200px; height: 40px; line-height: 40px; font-size: 18px; font-family: sans-serif; text-decoration: none; color: #333;border: 1px solid #333;letter-spacing: 2px;text-align: center;position: relative;transition: all .35s;}\" +\r\n \"#answer_is_forty_two a:after{position: absolute; content: \\\"\\\"; top: 0; left: 0; width: var(--width, 0); height: 100%; background: #ff6d00; transition: all .35s;}\" +\r\n \"#answer_is_forty_two a:hover{color: #fff; background: #ff6d0088;}\" +\r\n \"#answer_is_forty_two a span{position: relative; z-index: 2;}\";\r\n //Добавим блок во фрейм\r\n const container = iFrame!.document.getElementsByClassName(\"vjs-control-bar\").item(0)!;\r\n const parent = container.parentNode!\r\n parent.insertBefore(div, container)\r\n } else {\r\n //Считаем 25 секунд и переходим по ссылке\r\n countTimerOut++;\r\n if (countTimerOut >= 25) {\r\n document.location.href = document.getElementsByClassName(\"m-select-sibling-episode\").item(0)!.getElementsByTagName(\"a\").item(1 || 0)!.href;\r\n }\r\n //Визуализируем счётчик\r\n mainBlock.getElementsByTagName(\"a\").item(0)!.style.setProperty(\"--width\", (countTimerOut * 100) / 25 + \"%\");\r\n }\r\n } else {\r\n //Если ещё не досмотрено 96% то ничего не делаем\r\n countTimerOut = 0;\r\n iFrame!.document.getElementById(\"answer_is_forty_two\")?.remove();\r\n }\r\n timerId = setTimeout(tick, 1000); // (*)\r\n }, 1000);\r\n\r\n }\r\n }\r\n});\r\n\r\n"],"names":["timerId","countNextPage","countTimerOut","chrome","runtime","onMessage","addListener","request","type","clearInterval","document","getElementById","videoFrame","iFrame","contentWindow","setTimeout","tick","str","getElementsByClassName","item","getAttribute","trim","parseInt","replace","mainBlock","location","href","getElementsByTagName","style","setProperty","div","createElement","a","span","id","innerText","title","onclick","remove","appendChild","head","innerHTML","container","parentNode","insertBefore"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/anime365_content.js","mappings":"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","sources":["chromeServices/anime365_content.ts"],"sourcesContent":["export {}\r\nlet timerId: string | number | NodeJS.Timeout | undefined;\r\nlet countCurrentTime: number = 0;\r\nlet countDurationTime: number = 0;\r\nlet styleElem: HTMLStyleElement | undefined;\r\nlet hrefChevronRight: string;\r\nchrome.runtime.onMessage.addListener(function (request) {\r\n // Получаем сообщение от background что страница готова\r\n if (request && request.type === 'page-rendered-anime365') {\r\n //Очистим таймер если есть\r\n clearInterval(timerId);\r\n //Проверим наличие плеера\r\n if (document.getElementById(\"videoFrame\")) {\r\n const videoFrame = document.getElementById(\"videoFrame\")!;\r\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\r\n const iFrame = (videoFrame).contentWindow;\r\n //Пределим наличие кнопки на следующую серию\r\n if (document.getElementsByClassName(\"m-select-sibling-episode\").item(0)?.getElementsByTagName(\"i\").item(1)){\r\n hrefChevronRight = document.getElementsByClassName(\"m-select-sibling-episode\").item(0)?.getElementsByTagName(\"a\").item(1)?.href || \"/\";\r\n }else if(document.getElementsByClassName(\"m-select-sibling-episode\").item(0)?.getElementsByTagName(\"i\").item(0)?.textContent === \"chevron_right\"){\r\n hrefChevronRight = document.getElementsByClassName(\"m-select-sibling-episode\").item(0)?.getElementsByTagName(\"a\").item(0)?.href || \"/\";\r\n }else{\r\n hrefChevronRight = \"/\";\r\n }\r\n //Запустим таймер\r\n timerId = setTimeout(function tick() {\r\n //Получим состояние видео\r\n countCurrentTime = iFrame?.document.getElementsByTagName(\"video\").item(0)?.currentTime || 0;\r\n countDurationTime = iFrame?.document.getElementsByTagName(\"video\").item(0)?.duration || 0;\r\n //Если до конца тайтла осталось 15 секунд покажем блок\r\n if (videoFrame && countDurationTime - 15 <= countCurrentTime && countDurationTime > 0 && countCurrentTime > 0 && hrefChevronRight !== \"/\") {\r\n //Вернём наличие нашего блока\r\n const mainBlock = iFrame?.document.getElementById(\"answer_is_forty_two\");\r\n //Если блока нет\r\n if (!mainBlock) {\r\n //Созданим элементы блока\r\n const div = document.createElement('div');\r\n const a = document.createElement('a');\r\n const span = document.createElement('span');\r\n div.id = \"answer_is_forty_two\";\r\n span.innerText = \"Далее\";\r\n a.title = \"Нажмите чтобы отменить\";\r\n a.onclick = function () {\r\n //При нажатии на блок очистим таймер и удалим блок\r\n clearInterval(timerId);\r\n iFrame?.document.getElementById(\"answer_is_forty_two\")?.remove();\r\n styleElem?.remove();\r\n }\r\n div.appendChild(a).appendChild(span);\r\n styleElem = iFrame?.document.head.appendChild(document.createElement(\"style\"));\r\n styleElem!.innerHTML = \"#answer_is_forty_two{background-color: #ff6d0033; position:absolute; bottom:10%; right:5%;}\" +\r\n \"#answer_is_forty_two a{border-radius: 2px; display: block; cursor: pointer; width: 200px; height: 40px; line-height: 40px; font-size: 18px; font-family: sans-serif; text-decoration: none; color: #fff;border: 1px solid #fff;letter-spacing: 2px;text-align: center;position: relative;transition: all .35s;}\" +\r\n \"#answer_is_forty_two a:after{border-radius: 2px; position: absolute; content: \\\"\\\"; top: 0; left: 0; width: var(--width, 0); height: 100%; background: #ff6d00; transition: all .35s;}\" +\r\n \"#answer_is_forty_two a:hover{color: #fff; background: #ff6d0088;}\" +\r\n \"#answer_is_forty_two a span{position: relative; z-index: 2;}\";\r\n //Добавим блок во фрейм\r\n const container = iFrame?.document.getElementsByClassName(\"vjs-control-bar\").item(0)!;\r\n const parent = container.parentNode!\r\n parent.insertBefore(div, container)\r\n } else {\r\n //Если дошли до конца то переходим по ссылке\r\n if (countCurrentTime === countDurationTime && hrefChevronRight !== \"/\") {\r\n //Проверить возможность сохранить в память состояние плеера, после перехода на следующую серию вернуть. fullscreen, play/pause\r\n document.location.href = hrefChevronRight;\r\n }\r\n //Визуализируем счётчик\r\n mainBlock.getElementsByTagName(\"a\").item(0)?.style.setProperty(\"--width\", ((countDurationTime - countCurrentTime - 15) * 100 * -1) / 15 + \"%\");\r\n }\r\n } else {\r\n iFrame?.document.getElementById(\"answer_is_forty_two\")?.remove();\r\n styleElem?.remove();\r\n }\r\n timerId = setTimeout(tick, 500);\r\n }, 500);\r\n\r\n }\r\n }\r\n});"],"names":["timerId","styleElem","hrefChevronRight","countCurrentTime","countDurationTime","chrome","runtime","onMessage","addListener","request","type","clearInterval","document","getElementById","videoFrame","iFrame","contentWindow","getElementsByClassName","item","getElementsByTagName","href","textContent","setTimeout","tick","currentTime","duration","mainBlock","location","style","setProperty","div","createElement","a","span","id","innerText","title","onclick","remove","appendChild","head","innerHTML","container","parentNode","insertBefore"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index d60781b..a9373ec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "shikilink", - "version": "1.0.1", + "version": "1.0.2", "private": true, "dependencies": { "@craco/craco": "^7.0.0-alpha.7", diff --git a/public/manifest.json b/public/manifest.json index 3e2287c..49e121a 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,7 +1,7 @@ { "name": "ShikiLink", "description": "Adds an external link to the Shikimori website to watch the anime.", - "version": "1.0.0", + "version": "1.0.2", "manifest_version": 3, "action": { "default_popup": "popup.html",