diff --git a/mobile/src/screens/PlayerScreen.tsx b/mobile/src/screens/PlayerScreen.tsx index cffdb7c..d238e33 100644 --- a/mobile/src/screens/PlayerScreen.tsx +++ b/mobile/src/screens/PlayerScreen.tsx @@ -1010,14 +1010,24 @@ const INJECTED_JS = ` } }; + // Age-gate auto-accept: 4k69 ma modal "Are you 18 or above?" z przyciskiem + // \`#pop_up_18_yes\`, który blokuje init jwplayera → INJECTED_JS nie wyłuska + // streamu (report 5de3fbc5). Klik precyzyjnie po id — jednoznaczne, bezpieczne. + const dismissAgeGate = function() { + const btn = document.querySelector('#pop_up_18_yes, [id*="18_yes"], [id*="age_yes"], [id*="ageyes"]'); + if (btn) { try { btn.click(); } catch (e) {} } + }; + setInterval(function() { removeAdIframes(); dismissConsent(); + dismissAgeGate(); clickPlayPoster(); }, 1000); - // Pierwsza próba consent natychmiast (banner bywa w SSR HTML) — bez czekania + // Pierwsza próba consent/age-gate natychmiast (modal bywa w SSR HTML) — bez czekania // na pierwszy tick interwału. dismissConsent(); + dismissAgeGate(); // -- 2. Auto-extract m3u8/mp4 ----------------------------------------------- const VIDEO_RE = /https?:\\/\\/[^"'\\s<>]+\\.(?:m3u8|mp4|mpd)(?:\\?[^"'\\s<>]*)?/i;