From 8e3b91b20267a7a2c9cc8ed6507d8ebf25eb59cc Mon Sep 17 00:00:00 2001 From: Dastan21 Date: Fri, 24 Feb 2023 00:15:11 +0100 Subject: [PATCH] fix: better url wildcard + episodes player --- src/assets/styles/main.css | 4 ++++ src/common/api.js | 2 +- src/common/header.js | 4 ++-- src/common/parser.js | 6 +++--- src/common/utils.js | 2 +- src/manifest.json | 26 +++++++++++++------------- src/pages/episode.js | 1 - 7 files changed, 24 insertions(+), 21 deletions(-) diff --git a/src/assets/styles/main.css b/src/assets/styles/main.css index b6dcfd1..0c7af5c 100644 --- a/src/assets/styles/main.css +++ b/src/assets/styles/main.css @@ -960,6 +960,10 @@ bva-button-icon:active { aspect-ratio: 16 / 9; } +#chapter-video-captcha-validator > :not(.g-recaptcha) { + display: none; +} + .bva-episode-video p { padding: 0 !important; margin: 0 !important; diff --git a/src/common/api.js b/src/common/api.js index f2916a3..49e743e 100644 --- a/src/common/api.js +++ b/src/common/api.js @@ -1,7 +1,7 @@ import { BASE_URL, getCurrentSection, NEED_REFRESH, onTrigger } from './utils' import { parseHTML, parseFormData } from './parser' -export const API_URL = `${BASE_URL}wp-admin/admin-ajax.php` +export const API_URL = `${BASE_URL}/wp-admin/admin-ajax.php` export const API_OPTIONS = 'current_page_id=15&qtranslate_lang=0&filters_changed=0&filters_initial=1&asp_gen%5B%5D=title&asp_gen%5B%5D=content&asp_gen%5B%5D=excerpt&customset%5B%5D=wp-manga&aspf%5Bvf__1%5D=vf' window.cache = new Map() diff --git a/src/common/header.js b/src/common/header.js index 61e41b7..19da301 100644 --- a/src/common/header.js +++ b/src/common/header.js @@ -95,10 +95,10 @@ const menuTab = { title: 'Découvrir un animé' }, action: () => { - request(`${BASE_URL}liste-danimes/`).then((res) => { + request(`${BASE_URL}/liste-danimes/`).then((res) => { const totalPages = res.body.querySelector('.wp-pagenavi .last').getAttribute('href').match(/(\d*)\/$/)?.[1] const page = Math.floor((Math.random() * totalPages)) + 1 - request(`${BASE_URL}liste-danimes/page/${page}/`, { abortPrevious: true }).then((res) => { + request(`${BASE_URL}/liste-danimes/page/${page}/`, { abortPrevious: true }).then((res) => { const animes = collectionToArray(res.body.querySelectorAll('.page-listing-item .item-thumb a')) const randomAnimeUrl = animes[~~(Math.random() * animes.length)].getAttribute('href') changePage(randomAnimeUrl) diff --git a/src/common/parser.js b/src/common/parser.js index 7960bf4..6cdfa8d 100644 --- a/src/common/parser.js +++ b/src/common/parser.js @@ -73,7 +73,7 @@ export function parseAnime (root = window.body) { if (key === 'genre(s)' || key === 'genres') { anime.genres = value.toLowerCase().split(', ').map((genre) => ({ label: capitalize(translateGenre(genre)), - url: `${BASE_URL}anime-genre/${encodeURI(genre)}` + url: `${BASE_URL}/anime-genre/${encodeURI(genre)}` })) } }) @@ -90,11 +90,11 @@ export function parseEpisode (root = window.body) { const $nav = root.querySelector('#manga-reading-nav-head') const title = root.querySelector('.breadcrumb > li.active').textContent.trim() return { - id: $ids.getAttribute('data-chapter'), + id: $ids?.getAttribute('data-chapter') ?? root.querySelector('[name="wp_manga_chapter_id"]')?.getAttribute('value'), title, hosts: collectionToArray($nav.querySelectorAll('.host-select > option')).map((o) => o.value.replace('LECTEUR ', '')), anime: { - id: $ids.getAttribute('data-post'), + id: $ids?.getAttribute('data-post') ?? $nav.getAttribute('data-id'), title: title.split(' - ')[0] } } diff --git a/src/common/utils.js b/src/common/utils.js index 2074fdf..cf20846 100644 --- a/src/common/utils.js +++ b/src/common/utils.js @@ -1,6 +1,6 @@ import * as storage from './storage' -export const BASE_URL = 'https://voiranime.com/' +export const BASE_URL = location.origin export const NEED_REFRESH = ['episode'] diff --git a/src/manifest.json b/src/manifest.json index 3280196..cb80c2f 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,6 +1,6 @@ { "name": "Better VoirAnime", - "version": "0.0.5", + "version": "0.0.6", "manifest_version": 3, "description": "A powerful UI/UX changer for 'voiranime.com'", "icons": { @@ -16,14 +16,14 @@ "style.css" ], "matches": [ - "*://voiranime.com/*" + "*://*.voiranime.com/*" ], "exclude_matches": [ - "*://voiranime.com/wp-content/*", - "*://voiranime.com/wp-admin/*", - "*://voiranime.com/wp-login*", - "*://voiranime.com/feed/*", - "*://voiranime.com/user-settings*" + "*://*.voiranime.com/wp-content/*", + "*://*.voiranime.com/wp-admin/*", + "*://*.voiranime.com/wp-login*", + "*://*.voiranime.com/feed/*", + "*://*.voiranime.com/user-settings*" ] }], "web_accessible_resources": [{ @@ -31,14 +31,14 @@ "public/**/*.*" ], "matches": [ - "*://voiranime.com/*" + "*://*.voiranime.com/*" ], "exclude_matches": [ - "*://voiranime.com/wp-content/*", - "*://voiranime.com/wp-admin/*", - "*://voiranime.com/wp-login*", - "*://voiranime.com/feed/*", - "*://voiranime.com/user-settings*" + "*://*.voiranime.com/wp-content/*", + "*://*.voiranime.com/wp-admin/*", + "*://*.voiranime.com/wp-login*", + "*://*.voiranime.com/feed/*", + "*://*.voiranime.com/user-settings*" ] }], "permissions": [ diff --git a/src/pages/episode.js b/src/pages/episode.js index 00cde3d..92cdb87 100644 --- a/src/pages/episode.js +++ b/src/pages/episode.js @@ -120,7 +120,6 @@ export function buildEpisodePage () { if (checkingCaptcha) return checkingCaptcha = true - document.getElementById('wp-manga-current-chap')?.remove() setEpisodeClass() // auto valid video observe('#chapter-video-captcha-validator .btn[type="submit"]', ($btn) => {