Compare commits
44
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5adb3802fe | ||
|
|
3d24576558 | ||
|
|
f732fa3ced | ||
|
|
88ac43d0d2 | ||
|
|
4c34416fc4 | ||
|
|
b929861bf1 | ||
|
|
ff1793407a | ||
|
|
7ffd5852e4 | ||
|
|
ea3b3c90ba | ||
|
|
f2e151618f | ||
|
|
1c8af4daa8 | ||
|
|
e69957ea5e | ||
|
|
a8d8f5222b | ||
|
|
5edb868c5a | ||
|
|
5f2252b919 | ||
|
|
0da6da06af | ||
|
|
492db13195 | ||
|
|
33b2132a65 | ||
|
|
fd7c63cac6 | ||
|
|
5df3bfbdfd | ||
|
|
818d9abde1 | ||
|
|
ff208b4191 | ||
|
|
707c84608e | ||
|
|
9a3c6be2d9 | ||
|
|
f4a8a32887 | ||
|
|
684ba19c4f | ||
|
|
c6b6411697 | ||
|
|
1b8e9821c7 | ||
|
|
76657c6ba4 | ||
|
|
a94e60639f | ||
|
|
7e17cbb123 | ||
|
|
5522c7604b | ||
|
|
9f6d0562b8 | ||
|
|
ced5cf81df | ||
|
|
b9d1826c99 | ||
|
|
6307c0c2c6 | ||
|
|
7263ce7127 | ||
|
|
f376cabd2a | ||
|
|
d7aee836ac | ||
|
|
556c7d99a5 | ||
|
|
dbc8c08db1 | ||
|
|
a30b04a503 | ||
|
|
f5c765595c | ||
|
|
6385692aad |
@@ -8,7 +8,7 @@ on:
|
|||||||
inputs:
|
inputs:
|
||||||
uyou_version:
|
uyou_version:
|
||||||
description: "The version of uYou"
|
description: "The version of uYou"
|
||||||
default: "3.0.1"
|
default: "3.0.3"
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
decrypted_youtube_url:
|
decrypted_youtube_url:
|
||||||
|
|||||||
@@ -26,10 +26,6 @@
|
|||||||
path = Tweaks/YouTubeHeader
|
path = Tweaks/YouTubeHeader
|
||||||
url = https://github.com/PoomSmart/YouTubeHeader.git
|
url = https://github.com/PoomSmart/YouTubeHeader.git
|
||||||
branch = main
|
branch = main
|
||||||
[submodule "Tweaks/PSHeader"]
|
|
||||||
path = Tweaks/PSHeader
|
|
||||||
url = https://github.com/PoomSmart/PSHeader.git
|
|
||||||
branch = master
|
|
||||||
[submodule "Extensions"]
|
[submodule "Extensions"]
|
||||||
path = Extensions
|
path = Extensions
|
||||||
url = https://github.com/CokePokes/YoutubeExtensions.git
|
url = https://github.com/CokePokes/YoutubeExtensions.git
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "السماح بالمشغل المصغّر لكل فيديوهات يوتيوب";
|
"YT_MINIPLAYER" = "السماح بالمشغل المصغّر لكل فيديوهات يوتيوب";
|
||||||
"YT_MINIPLAYER_DESC" = "عند تصغير فيديوهات الأطفال مثلاً (قبل إغلاق المقطع).";
|
"YT_MINIPLAYER_DESC" = "عند تصغير فيديوهات الأطفال مثلاً (قبل إغلاق المقطع).";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "استخدام مؤشر تغيير الصوت الخاص بالنظام";
|
"STOCK_VOLUME_HUD" = "استخدام مؤشر تغيير الصوت الخاص بالنظام";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "إظهار مؤشر تغيير الصوت الرسمي الخاص بـ iOS بدلاً من مؤشر يوتيوب";
|
"STOCK_VOLUME_HUD_DESC" = "إظهار مؤشر تغيير الصوت الرسمي الخاص بـ iOS بدلاً من مؤشر يوتيوب";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Povolit Minipřehrávač pro všechna videa";
|
"YT_MINIPLAYER" = "Povolit Minipřehrávač pro všechna videa";
|
||||||
"YT_MINIPLAYER_DESC" = "Například u videa pro děti";
|
"YT_MINIPLAYER_DESC" = "Například u videa pro děti";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Miniplayer für alle YouTube-Videos aktivieren";
|
"YT_MINIPLAYER" = "Miniplayer für alle YouTube-Videos aktivieren";
|
||||||
"YT_MINIPLAYER_DESC" = "z.B. bei Videos für Kinder.";
|
"YT_MINIPLAYER_DESC" = "z.B. bei Videos für Kinder.";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Standard iOS Lautstärke HUD aktivieren";
|
"STOCK_VOLUME_HUD" = "Standard iOS Lautstärke HUD aktivieren";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Ενεργοποιήστε το miniplayer για όλα τα βίντεο του YouTube";
|
"YT_MINIPLAYER" = "Ενεργοποιήστε το miniplayer για όλα τα βίντεο του YouTube";
|
||||||
"YT_MINIPLAYER_DESC" = "Τα παιδικά βίντεο για παράδειγμα.";
|
"YT_MINIPLAYER_DESC" = "Τα παιδικά βίντεο για παράδειγμα.";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Enable miniplayer for all videos";
|
"YT_MINIPLAYER" = "Enable miniplayer for all videos";
|
||||||
"YT_MINIPLAYER_DESC" = "The miniplayer cannot be activated for certain videos (e.g., kids videos). This option bypasses that";
|
"YT_MINIPLAYER_DESC" = "The miniplayer cannot be activated for certain videos (e.g., kids videos). This option bypasses that";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
@@ -100,7 +109,7 @@
|
|||||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||||
|
|
||||||
"HIDE_UYOU" = "Hide uYou tab";
|
"HIDE_UYOU" = "Hide uYou tab";
|
||||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
"HIDE_ISPONSORBLOCK" = "Hides iSponsorBlock button";
|
||||||
|
|
||||||
"CAST_CONFIRM" = "YTCastConfirm";
|
"CAST_CONFIRM" = "YTCastConfirm";
|
||||||
"CAST_CONFIRM_DESC" = "Shows a confirmation alert before casting";
|
"CAST_CONFIRM_DESC" = "Shows a confirmation alert before casting";
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Activar el minirreproductor para todos los vídeos de YouTube";
|
"YT_MINIPLAYER" = "Activar el minirreproductor para todos los vídeos de YouTube";
|
||||||
"YT_MINIPLAYER_DESC" = "Vídeos infantiles por ejemplo.";
|
"YT_MINIPLAYER_DESC" = "Vídeos infantiles por ejemplo.";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Utiliza el HUD de volumen de iOS";
|
"STOCK_VOLUME_HUD" = "Utiliza el HUD de volumen de iOS";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Activer le mini-lecteur pour toutes les vidéos YouTube";
|
"YT_MINIPLAYER" = "Activer le mini-lecteur pour toutes les vidéos YouTube";
|
||||||
"YT_MINIPLAYER_DESC" = "Vidéos pour enfants par exemple";
|
"YT_MINIPLAYER_DESC" = "Vidéos pour enfants par exemple";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Utiliser l'affichage iOS du volume par défaut";
|
"STOCK_VOLUME_HUD" = "Utiliser l'affichage iOS du volume par défaut";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "אפשר את הנגן הקטן עבור כל הסרטונים ב-YouTube";
|
"YT_MINIPLAYER" = "אפשר את הנגן הקטן עבור כל הסרטונים ב-YouTube";
|
||||||
"YT_MINIPLAYER_DESC" = "סרטוני ילדים לדוגמה.";
|
"YT_MINIPLAYER_DESC" = "סרטוני ילדים לדוגמה.";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Engedélyezze a Minilejátszót az összes YouTube-videóhoz";
|
"YT_MINIPLAYER" = "Engedélyezze a Minilejátszót az összes YouTube-videóhoz";
|
||||||
"YT_MINIPLAYER_DESC" = "Például gyermekvideók.";
|
"YT_MINIPLAYER_DESC" = "Például gyermekvideók.";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Abilita il Miniplayer su tutti i video di YouTube";
|
"YT_MINIPLAYER" = "Abilita il Miniplayer su tutti i video di YouTube";
|
||||||
"YT_MINIPLAYER_DESC" = "Video YouTube Kids per esempio.";
|
"YT_MINIPLAYER_DESC" = "Video YouTube Kids per esempio.";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
"STOCK_VOLUME_HUD" = "Use iOS stock volume HUD";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "すべての動画でミニプレーヤーを有効にする";
|
"YT_MINIPLAYER" = "すべての動画でミニプレーヤーを有効にする";
|
||||||
"YT_MINIPLAYER_DESC" = "ミニプレーヤーが使えない動画(子ども向けの動画など)がありますが、このオプションでバイパスできます。";
|
"YT_MINIPLAYER_DESC" = "ミニプレーヤーが使えない動画(子ども向けの動画など)がありますが、このオプションでバイパスできます。";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "iOSのstockボリュームHUDを利用する";
|
"STOCK_VOLUME_HUD" = "iOSのstockボリュームHUDを利用する";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "모든 YouTube 영상에서 미니 플레이어 활성화";
|
"YT_MINIPLAYER" = "모든 YouTube 영상에서 미니 플레이어 활성화";
|
||||||
"YT_MINIPLAYER_DESC" = "유튜브 키즈의 영상 같은 경우.";
|
"YT_MINIPLAYER_DESC" = "유튜브 키즈의 영상 같은 경우.";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "iOS 기본 음량 표시기 사용";
|
"STOCK_VOLUME_HUD" = "iOS 기본 음량 표시기 사용";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Schakel de Mini Speler in voor alle video's";
|
"YT_MINIPLAYER" = "Schakel de Mini Speler in voor alle video's";
|
||||||
"YT_MINIPLAYER_DESC" = "Video's voor kinderen bijvoorbeeld.";
|
"YT_MINIPLAYER_DESC" = "Video's voor kinderen bijvoorbeeld.";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Włącz miniodtwarzach dla wszystkich filmów";
|
"YT_MINIPLAYER" = "Włącz miniodtwarzach dla wszystkich filmów";
|
||||||
"YT_MINIPLAYER_DESC" = "Np. filmów dla dzieci.";
|
"YT_MINIPLAYER_DESC" = "Np. filmów dla dzieci.";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Ative o Miniplayer para todos os vídeos do YouTube";
|
"YT_MINIPLAYER" = "Ative o Miniplayer para todos os vídeos do YouTube";
|
||||||
"YT_MINIPLAYER_DESC" = "Vídeos infantis, por exemplo.";
|
"YT_MINIPLAYER_DESC" = "Vídeos infantis, por exemplo.";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Usar o HUD de volume padrão do iOS";
|
"STOCK_VOLUME_HUD" = "Usar o HUD de volume padrão do iOS";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Activare Miniplayer pentru toate videoclipurile YouTube";
|
"YT_MINIPLAYER" = "Activare Miniplayer pentru toate videoclipurile YouTube";
|
||||||
"YT_MINIPLAYER_DESC" = "De exemplu, videoclipurile destinate pentri copii";
|
"YT_MINIPLAYER_DESC" = "De exemplu, videoclipurile destinate pentri copii";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Мини-плеер для всех видео";
|
"YT_MINIPLAYER" = "Мини-плеер для всех видео";
|
||||||
"YT_MINIPLAYER_DESC" = "Принудительно активирует мини-плеер для всех видео, включая видео, предназначенное для детей.";
|
"YT_MINIPLAYER_DESC" = "Принудительно активирует мини-плеер для всех видео, включая видео, предназначенное для детей.";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Использовать стоковый слайдер грмкости iOS";
|
"STOCK_VOLUME_HUD" = "Использовать стоковый слайдер грмкости iOS";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,15 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap
|
|||||||
"YT_MINIPLAYER" = "Enable miniplayer for all videos";
|
"YT_MINIPLAYER" = "Enable miniplayer for all videos";
|
||||||
"YT_MINIPLAYER_DESC" = "The miniplayer cannot be activated for certain videos (e.g., kids videos). This option bypasses that";
|
"YT_MINIPLAYER_DESC" = "The miniplayer cannot be activated for certain videos (e.g., kids videos). This option bypasses that";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
"STOCK_VOLUME_HUD" = "Use stock iOS volume HUD";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
@@ -115,7 +124,7 @@ https://github.com/PoomSmart/Return-YouTube-Dislikes/tree/main/layout/Library/Ap
|
|||||||
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
"MISCELLANEOUS" = "🔎 Miscellaneous";
|
||||||
|
|
||||||
"HIDE_UYOU" = "Hide uYou tab";
|
"HIDE_UYOU" = "Hide uYou tab";
|
||||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
"HIDE_ISPONSORBLOCK" = "Hides iSponsorBlock button";
|
||||||
|
|
||||||
"CAST_CONFIRM" = "YTCastConfirm";
|
"CAST_CONFIRM" = "YTCastConfirm";
|
||||||
"CAST_CONFIRM_DESC" = "Shows a confirmation alert before casting";
|
"CAST_CONFIRM_DESC" = "Shows a confirmation alert before casting";
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Tüm YouTube videoları için Mini Oynatıcıyı etkinleştir";
|
"YT_MINIPLAYER" = "Tüm YouTube videoları için Mini Oynatıcıyı etkinleştir";
|
||||||
"YT_MINIPLAYER_DESC" = "Örneğin çocuk videoları.";
|
"YT_MINIPLAYER_DESC" = "Örneğin çocuk videoları.";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Mevcut iOS baş yukarı göstergesi(HUD) alanını kullan";
|
"STOCK_VOLUME_HUD" = "Mevcut iOS baş yukarı göstergesi(HUD) alanını kullan";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"VERSION_CHECK" = "Chạm để kiểm tra bản cập nhật!";
|
"VERSION_CHECK" = "Chạm để kiểm tra bản cập nhật!";
|
||||||
|
|
||||||
"REPORT_AN_ISSUE" = "Báo lỗi";
|
"REPORT_AN_ISSUE" = "Báo lỗi";
|
||||||
"ADD_TITLE" = "Add your title here...";
|
"ADD_TITLE" = "Thêm tiêu đề lỗi ở đây...";
|
||||||
|
|
||||||
"QUIT_YOUTUBE" = "Đóng YouTube";
|
"QUIT_YOUTUBE" = "Đóng YouTube";
|
||||||
|
|
||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "Cho phép sử dụng trình phát thu nhỏ với mọi video";
|
"YT_MINIPLAYER" = "Cho phép sử dụng trình phát thu nhỏ với mọi video";
|
||||||
"YT_MINIPLAYER_DESC" = "Ví dụ: Video cho trẻ em.";
|
"YT_MINIPLAYER_DESC" = "Ví dụ: Video cho trẻ em.";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Ẩn nút Phối lại";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Ẩn nút Tạo đoạn video";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Ẩn nút Tải xuống";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "Sử dụng thanh âm lượng mặc định của iOS";
|
"STOCK_VOLUME_HUD" = "Sử dụng thanh âm lượng mặc định của iOS";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
@@ -100,7 +109,7 @@
|
|||||||
"MISCELLANEOUS" = "🔎 Cài đặt khác";
|
"MISCELLANEOUS" = "🔎 Cài đặt khác";
|
||||||
|
|
||||||
"HIDE_UYOU" = "Hide uYou tab";
|
"HIDE_UYOU" = "Hide uYou tab";
|
||||||
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
|
"HIDE_ISPONSORBLOCK" = "Ẩn nút iSponsorBlock trên thanh menu";
|
||||||
|
|
||||||
"CAST_CONFIRM" = "Xác nhận trước khi cast video (YTCastConfirm)";
|
"CAST_CONFIRM" = "Xác nhận trước khi cast video (YTCastConfirm)";
|
||||||
"CAST_CONFIRM_DESC" = "Hiện hộp thoại xác nhận trước khi cast video sang TV để tránh vô tình chiếm quyền điều khiển TV.";
|
"CAST_CONFIRM_DESC" = "Hiện hộp thoại xác nhận trước khi cast video sang TV để tránh vô tình chiếm quyền điều khiển TV.";
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "为所有 YouTube 视频启用迷你播放器";
|
"YT_MINIPLAYER" = "为所有 YouTube 视频启用迷你播放器";
|
||||||
"YT_MINIPLAYER_DESC" = "例如:面向儿童的视频。";
|
"YT_MINIPLAYER_DESC" = "例如:面向儿童的视频。";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "使用 iOS 自带音量指示";
|
"STOCK_VOLUME_HUD" = "使用 iOS 自带音量指示";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,15 @@
|
|||||||
"YT_MINIPLAYER" = "為所有 YouTube 影片啟用迷你播放器";
|
"YT_MINIPLAYER" = "為所有 YouTube 影片啟用迷你播放器";
|
||||||
"YT_MINIPLAYER_DESC" = "例如兒童影片";
|
"YT_MINIPLAYER_DESC" = "例如兒童影片";
|
||||||
|
|
||||||
|
"HIDE_REMIX_BUTTON" = "Hides Remix button";
|
||||||
|
"HIDE_REMIX_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_CLIP_BUTTON" = "Hide Clip button";
|
||||||
|
"HIDE_CLIP_BUTTON_DESC" = "";
|
||||||
|
|
||||||
|
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
|
||||||
|
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
|
||||||
|
|
||||||
"STOCK_VOLUME_HUD" = "使用 iOS 內建的音量 HUD";
|
"STOCK_VOLUME_HUD" = "使用 iOS 內建的音量 HUD";
|
||||||
"STOCK_VOLUME_HUD_DESC" = "";
|
"STOCK_VOLUME_HUD_DESC" = "";
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ export libFLEX_ARCHS = arm64
|
|||||||
export Alderis_XCODEOPTS = LD_DYLIB_INSTALL_NAME=@rpath/Alderis.framework/Alderis
|
export Alderis_XCODEOPTS = LD_DYLIB_INSTALL_NAME=@rpath/Alderis.framework/Alderis
|
||||||
export Alderis_XCODEFLAGS = DYLIB_INSTALL_NAME_BASE=/Library/Frameworks BUILD_LIBRARY_FOR_DISTRIBUTION=YES ARCHS="$(ARCHS)"
|
export Alderis_XCODEFLAGS = DYLIB_INSTALL_NAME_BASE=/Library/Frameworks BUILD_LIBRARY_FOR_DISTRIBUTION=YES ARCHS="$(ARCHS)"
|
||||||
export libcolorpicker_LDFLAGS = -F$(TARGET_PRIVATE_FRAMEWORK_PATH) -install_name @rpath/libcolorpicker.dylib
|
export libcolorpicker_LDFLAGS = -F$(TARGET_PRIVATE_FRAMEWORK_PATH) -install_name @rpath/libcolorpicker.dylib
|
||||||
export ADDITIONAL_CFLAGS = -I$(THEOS_PROJECT_DIR)/Tweaks/RemoteLog
|
export ADDITIONAL_CFLAGS = -I$(THEOS_PROJECT_DIR)/Tweaks/RemoteLog -I$(THEOS_PROJECT_DIR)/Tweaks
|
||||||
|
|
||||||
ifneq ($(JAILBROKEN),1)
|
ifneq ($(JAILBROKEN),1)
|
||||||
export DEBUGFLAG = -ggdb -Wno-unused-command-line-argument -L$(THEOS_OBJ_DIR) -F$(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install/Library/Frameworks
|
export DEBUGFLAG = -ggdb -Wno-unused-command-line-argument -L$(THEOS_OBJ_DIR) -F$(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install/Library/Frameworks
|
||||||
@@ -14,10 +14,10 @@ MODULES = jailed
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifndef YOUTUBE_VERSION
|
ifndef YOUTUBE_VERSION
|
||||||
YOUTUBE_VERSION = 19.02.1
|
YOUTUBE_VERSION = 19.07.04
|
||||||
endif
|
endif
|
||||||
ifndef UYOU_VERSION
|
ifndef UYOU_VERSION
|
||||||
UYOU_VERSION = 3.0.1
|
UYOU_VERSION = 3.0.3
|
||||||
endif
|
endif
|
||||||
PACKAGE_VERSION = $(YOUTUBE_VERSION)-$(UYOU_VERSION)
|
PACKAGE_VERSION = $(YOUTUBE_VERSION)-$(UYOU_VERSION)
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@ BUNDLE_ID = com.google.ios.youtube
|
|||||||
$(TWEAK_NAME)_FILES := $(wildcard Sources/*.xm) $(wildcard Sources/*.x)
|
$(TWEAK_NAME)_FILES := $(wildcard Sources/*.xm) $(wildcard Sources/*.x)
|
||||||
$(TWEAK_NAME)_FRAMEWORKS = UIKit Security
|
$(TWEAK_NAME)_FRAMEWORKS = UIKit Security
|
||||||
$(TWEAK_NAME)_CFLAGS = -fobjc-arc -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\"
|
$(TWEAK_NAME)_CFLAGS = -fobjc-arc -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\"
|
||||||
$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib $(THEOS_OBJ_DIR)/IAmYouTube.dylib $(THEOS_OBJ_DIR)/YTClassicVideoQuality.dylib $(THEOS_OBJ_DIR)/NoYTPremium.dylib $(THEOS_OBJ_DIR)/YTSpeed.dylib
|
$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib $(THEOS_OBJ_DIR)/IAmYouTube.dylib $(THEOS_OBJ_DIR)/YTClassicVideoQuality.dylib $(THEOS_OBJ_DIR)/NoYTPremium.dylib $(THEOS_OBJ_DIR)/YoutubeSpeed.dylib
|
||||||
$(TWEAK_NAME)_EMBED_LIBRARIES = $(THEOS_OBJ_DIR)/libcolorpicker.dylib
|
$(TWEAK_NAME)_EMBED_LIBRARIES = $(THEOS_OBJ_DIR)/libcolorpicker.dylib
|
||||||
$(TWEAK_NAME)_EMBED_FRAMEWORKS = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install_Alderis.xcarchive/Products/var/jb/Library/Frameworks/Alderis.framework
|
$(TWEAK_NAME)_EMBED_FRAMEWORKS = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install_Alderis.xcarchive/Products/var/jb/Library/Frameworks/Alderis.framework
|
||||||
$(TWEAK_NAME)_EMBED_BUNDLES = $(wildcard Bundles/*.bundle)
|
$(TWEAK_NAME)_EMBED_BUNDLES = $(wildcard Bundles/*.bundle)
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||

|
# uYouPlus
|
||||||
|
|
||||||
|

|
||||||
|
<!---->
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="https://img.shields.io/badge/Platform-iOS%20%7C%20iPadOS%2014.0%2B-yellow" alt="Badge"/>
|
<img src="https://img.shields.io/badge/Platform-iOS%20%7C%20iPadOS%2014.0%2B-yellow" alt="Badge"/>
|
||||||
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQ"><img src="https://img.shields.io/badge/Question%3F-FAQ-yellow" alt="Badge"></img></a>
|
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQ"><img src="https://img.shields.io/badge/Question%3F-FAQ-yellow" alt="Badge"></img></a>
|
||||||
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQ"><img src="https://custom-icon-badges.demolab.com/badge/translate-blue.svg?logo=translate&logoColor=white" alt="Badge"></img></a>
|
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQ"><img src="https://custom-icon-badges.demolab.com/badge/translate-blue.svg?logo=translate&logoColor=white" alt="Badge"></img></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
@@ -24,218 +25,233 @@
|
|||||||
<a href="https://github.com/qnblackcat/uYouPlus#support-the-developers"><img src="https://img.shields.io/badge/-Support-lightgrey?style=social&logo=paypal" alt="Badge"></img></a>
|
<a href="https://github.com/qnblackcat/uYouPlus#support-the-developers"><img src="https://img.shields.io/badge/-Support-lightgrey?style=social&logo=paypal" alt="Badge"></img></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
# Table of Contents
|
> [!NOTE]
|
||||||
|
> uYouPlus is a **modified version** of uYou. **Please DO NOT bother MiRO92 with issues unrelated to uYou!**
|
||||||
|
|
||||||
|
## Table of contents
|
||||||
|
|
||||||
* [Credits](#credits)
|
|
||||||
* [Features](#features)
|
|
||||||
* [Known issues](#known-issues)
|
|
||||||
* [Download](#download)
|
* [Download](#download)
|
||||||
* [Installation](#installation)
|
* [Installation](#installation)
|
||||||
|
* [Features](#features)
|
||||||
|
* [Credits](#credits)
|
||||||
* [Support the developers!](#support-the-developers)
|
* [Support the developers!](#support-the-developers)
|
||||||
* [FAQ](#faq)
|
* [FAQs](#faqs)
|
||||||
* [Building](#building-optional)
|
* [Building](#building)
|
||||||
|
|
||||||
# Credits
|
## Download
|
||||||
- Special thanks to all the developers who have contributed to uYouPlus!
|
|
||||||
|
|
||||||
<table id='credit'>
|
- The latest version of **uYouPlus** can be found under [Releases](https://github.com/qnblackcat/uYouPlus/releases/latest).
|
||||||
<tr>
|
- **Compatibility:** Requires iOS/iPadOS 14.0 or later.
|
||||||
<td id='miro92'>
|
- For AltStore user:
|
||||||
<a href='https://github.com/MiRO92'>
|
|
||||||
<img src='https://github.com/MiRO92.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://twitter.com/miro92'>MiRO92</a></h4>
|
|
||||||
</td>
|
|
||||||
<td id='poomsmart'>
|
|
||||||
<a href='https://github.com/PoomSmart'>
|
|
||||||
<img src='https://github.com/PoomSmart.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://twitter.com/poomsmart'>PoomSmart</a></h4>
|
|
||||||
</td>
|
|
||||||
<td id='level3tjg'>
|
|
||||||
<a href='https://github.com/level3tjg'>
|
|
||||||
<img src='https://github.com/level3tjg.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://twitter.com/level3tjg'>level3tjg</a></h4>
|
|
||||||
</td>
|
|
||||||
<td id='bandarHL'>
|
|
||||||
<a href='https://github.com/BandarHL'>
|
|
||||||
<img src='https://github.com/BandarHL.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://twitter.com/bandarhl'>BandarHelal</a></h4>
|
|
||||||
</td>
|
|
||||||
<td id='galactic-dev'>
|
|
||||||
<a href='https://github.com/Galactic-Dev'>
|
|
||||||
<img src='https://github.com/Galactic-Dev.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://twitter.com/dev_galactic'>galactic</a></h4>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td id='julioverne'>
|
|
||||||
<a href='https://github.com/julioverne'>
|
|
||||||
<img src='https://github.com/julioverne.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://twitter.com/ijulioverne'>julioverne</a></h4>
|
|
||||||
</td>
|
|
||||||
<td id='hbang'>
|
|
||||||
<a href='https://github.com/hbang'>
|
|
||||||
<img src='https://github.com/hbang.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://twitter.com/hashbang'>HASHBANG</a></h4>
|
|
||||||
</td>
|
|
||||||
<td id='lyvendia'>
|
|
||||||
<a href='https://github.com/Lyvendia'>
|
|
||||||
<img src='https://github.com/Lyvendia.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://github.com/Lyvendia'>Lyvendia</a></h4>
|
|
||||||
</td>
|
|
||||||
<td id='foxster'>
|
|
||||||
<a href='https://github.com/therealFoxster'>
|
|
||||||
<img src='https://github.com/therealFoxster.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://twitter.com/therealFoxster'>Foxster</a></h4>
|
|
||||||
</td>
|
|
||||||
<td id='ichitaso'>
|
|
||||||
<a href='https://github.com/ichitaso'>
|
|
||||||
<img src='https://github.com/ichitaso.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://twitter.com/ichitaso'>ichitaso</a></h4>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td id='ahmed-bafkir'>
|
|
||||||
<a href='https://github.com/AhmedBafkir'>
|
|
||||||
<img src='https://github.com/AhmedBafkir.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://twitter.com/Peaceful_0'>Ahmed Bafkir</a></h4>
|
|
||||||
</td>
|
|
||||||
<td id='cokepokes'>
|
|
||||||
<a href='https://github.com/CokePokes'>
|
|
||||||
<img src='https://github.com/CokePokes.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://twitter.com/cokepokes'>CokePokes</a></h4>
|
|
||||||
</td>
|
|
||||||
<td id='isnackable'>
|
|
||||||
<a href='https://github.com/ISnackable'>
|
|
||||||
<img src='https://github.com/ISnackable.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://isnackable.me/'>Tommy Teo</a></h4>
|
|
||||||
</td>
|
|
||||||
<td id='theos-team'>
|
|
||||||
<a href='https://github.com/theos/theos'>
|
|
||||||
<img src='https://github.com/theos.png' width='140px;'>
|
|
||||||
</a>
|
|
||||||
<h4 align='center'><a href='https://theos.dev'>theos</a></h4>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
# Features
|
|
||||||
|
|
||||||
1. **uYou:** uYou has a ton of features that I can't list them all. Visit [here](https://miro92.com/repo/depictions/?p=com.miro.uyou) for more info!
|
|
||||||
|
|
||||||
2. **iSponsorBlock:** Skips annoying sponsor ads inside videos. iSponsorBlock is based on [SponsorBlock engine](https://sponsor.ajay.app/). Basically, this is the iOS version of the SponsorBlock extension.
|
|
||||||
|
|
||||||
3. **YouPiP:** enable YouTube's **native PiP**. More options are in YouTube Settings - General.
|
|
||||||
|
|
||||||
4. **YTUHD:** unlock VP9 codec and in effect, enables video quality of 2K and 4K. You can enable/disable YTUHD in YouTube Settings - Video quality preferences.
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>And many more...!</summary>
|
|
||||||
|
|
||||||
5. **YTClassicVideoQuality:** since YouTube v16.xx, you need one more step to change the video quality. YTClassicVideoQuality brings back the old video quality selector, which is a lot better than the new one.
|
|
||||||
|
|
||||||
6. **YTNoHoverCards:** offer an option to enable/disable the annoying suggested videos show up at the end of the videos.
|
|
||||||
|
|
||||||
7. **YouRememberCaption**: make YouTube remember your video caption setting (if not already).
|
|
||||||
|
|
||||||
8. **NoYTPremium**: remove YouTube Premium upsells.
|
|
||||||
|
|
||||||
9. **YTSpeed**: add 2.25, 2.5, 2.75, and 3x playback speed
|
|
||||||
|
|
||||||
10. **YTMiniplayerEnabler**: enable Miniplayer for all YouTube videos.
|
|
||||||
|
|
||||||
11. **DontEatMyContent**: prevent the notch/Dynamic Island from munching on 2:1 video content in YouTube.
|
|
||||||
|
|
||||||
12. **YTABConfig**: allow user to control over YouTube A/B testing flags.
|
|
||||||
|
|
||||||
13. **YouMute**: mute YouTube videos via a button.
|
|
||||||
|
|
||||||
14. **YouQuality**: change video quality via a button.
|
|
||||||
|
|
||||||
15. **YTVideoOverlay**: add buttons to overlay the video.
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
# Known issues
|
|
||||||
|
|
||||||
- **uYou**: all the known-issues of uYou are listed [here](https://github.com/MiRO92/uYou-for-YouTube/issues). Make sure you take a look at it before reporting any bugs! ***Also, keep in mind that uYou+ is a modified version of uYou, DO NOT bother MiRO92 with problems unrelated to uYou!!!***
|
|
||||||
|
|
||||||
- Issues that related to **uYouPlus** are [here](https://github.com/qnblackcat/uYouPlus/issues/)
|
|
||||||
|
|
||||||
# Download
|
|
||||||
|
|
||||||
- **uYouPlus** (or you can call it uYou+) requires iOS or iPadOS 14.0 or later. The latest version of **uYouPlus** can be found in the [Release tab](https://github.com/qnblackcat/uYouPlus/releases/latest).
|
|
||||||
|
|
||||||
<!-- - For AltStore user:
|
|
||||||
|
|
||||||
- My official AltStore repo: https://qnblackcat.github.io/AltStore/
|
- My official AltStore repo: https://qnblackcat.github.io/AltStore/
|
||||||
|
|
||||||
- [Open in AltStore (v18.14.1-3.0)](https://tinyurl.com/yv6wrxjz) - It will take a while to install because AltStore needs to download the IPA first. -->
|
- [Open in AltStore (v19.07.4-3.0.3)](http://tinyurl.com/2k4k4pyk) - It will take a while to install because AltStore needs to download the IPA first.
|
||||||
|
|
||||||
- Version info: _(last update: Aug 5)_
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Expand ℹ️</summary>
|
<summary>Version information (last updated: Feb 25, 2024)</summary>
|
||||||
|
|
||||||
| **Tweaks/App** | **Developer** | **Version** | **Open source** |
|
| **Tweaks/App** | **Developer** | **Version** | **Open source** |
|
||||||
| - | - | :-: | :-: |
|
| - | - | :-: | :-: |
|
||||||
| **YouTube** | Google Inc | 18.30.7 | ✖︎ |
|
| **YouTube** | Google Inc | 19.07.4 | ✖︎ |
|
||||||
| [uYou](https://github.com/MiRO92/uYou-for-YouTube) | [MiRO92](https://twitter.com/miro92) | 3.0 | ✖︎ |
|
| [uYou](https://github.com/MiRO92/uYou-for-YouTube) | [MiRO92](https://twitter.com/miro92) | 3.0.3 | ✖︎ |
|
||||||
| **Open in YouTube** | [CokePokes](https://github.com/CokePokes) | 1.2 | [✔︎](https://github.com/CokePokes/YoutubeExtensions) |
|
| **Open in YouTube** | [CokePokes](https://github.com/CokePokes) | 1.2 | [✔︎](https://github.com/CokePokes/YoutubeExtensions) |
|
||||||
| **iSponsorBlock** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.0-15 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
|
| **iSponsorBlock** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.2.1 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
|
||||||
| **BigYTMiniPlayer** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.0-1 | [✔︎](https://github.com/Galactic-Dev/BigYTMiniPlayer) |
|
| **BigYTMiniPlayer** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.0-1 | [✔︎](https://github.com/Galactic-Dev/BigYTMiniPlayer) |
|
||||||
| **YTNoHoverCards** | [level3tjg](https://twitter.com/level3tjg) | 0.0.3 | [✔︎](https://github.com/level3tjg/YTNoHoverCards) |
|
| **YTNoHoverCards** | [level3tjg](https://twitter.com/level3tjg) | 0.0.3 | [✔︎](https://github.com/level3tjg/YTNoHoverCards) |
|
||||||
| **YTMiniplayerEnabler** | [level3tjg](https://twitter.com/level3tjg) | 0.0.2 | [✔︎](https://github.com/level3tjg/YTMiniplayerEnabler) |
|
| **YTMiniplayerEnabler** | [level3tjg](https://twitter.com/level3tjg) | 0.0.2 | [✔︎](https://github.com/level3tjg/YTMiniplayerEnabler) |
|
||||||
| **DontEatMyContent** | [therealFoxster](https://github.com/therealFoxster) | 1.0.6 | [✔︎](https://github.com/therealFoxster/DontEatMyContent) |
|
| **DontEatMyContent** | [therealFoxster](https://github.com/therealFoxster) | 1.1.4 | [✔︎](https://github.com/therealFoxster/DontEatMyContent) |
|
||||||
| **YTSpeed** | [Lyvendia](https://github.com/Lyvendia) | 1.0.1 | [✔︎](https://github.com/Lyvendia/YTSpeed) |
|
| **YTSpeed** | [Lyvendia](https://github.com/Lyvendia) | 1.0.1 | [✔︎](https://github.com/Lyvendia/YTSpeed) |
|
||||||
| **YTCastConfirm** | [JamieBerghmans](https://github.com/JamieBerghmans) | 1.0.0 | [✔︎](https://github.com/JamieBerghmans/YTCastConfirm) |
|
| **Alderis Color Picker** | [HASHBANG Productions](https://github.com/hbang) | 1.2.3 | [✔︎](https://github.com/hbang/Alderis) |
|
||||||
| **Alderis Color Picker** | [HASHBANG Productions](https://github.com/hbang) | 1.2| [✔︎](https://github.com/hbang/Alderis) |
|
| **YTUHD** | [PoomSmart](https://twitter.com/poomsmart) | 1.4.3 | [✔︎](https://github.com/PoomSmart/YTUHD) |
|
||||||
| **YTUHD** | [PoomSmart](https://twitter.com/poomsmart) | 1.3.5-1 | [✔︎](https://github.com/PoomSmart/YTUHD) |
|
| **YouPiP** | [PoomSmart](https://twitter.com/poomsmart) | 1.8.4 | [✔︎](https://github.com/PoomSmart/YouPiP) |
|
||||||
| **YouPiP** | [PoomSmart](https://twitter.com/poomsmart) | 1.7.19-1 | [✔︎](https://github.com/PoomSmart/YouPiP) |
|
| **IAmYouTube** | [PoomSmart](https://twitter.com/poomsmart) | 1.3.0 | [✔︎](https://github.com/PoomSmart/IAmYouTube) |
|
||||||
| **IAmYouTube** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.0 | [✔︎](https://github.com/PoomSmart/IAmYouTube) |
|
| **YTABConfig** | [PoomSmart](https://twitter.com/poomsmart) | 1.7.0 | [✔︎](https://github.com/PoomSmart/YTABConfig) |
|
||||||
| **YTABConfig** | [PoomSmart](https://twitter.com/poomsmart) | 1.5.0 | [✔︎](https://github.com/PoomSmart/YTABConfig) |
|
|
||||||
| **YTReExplore** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.2 | [✔︎](https://github.com/PoomSmart/YTReExplore) |
|
| **YTReExplore** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.2 | [✔︎](https://github.com/PoomSmart/YTReExplore) |
|
||||||
| **NoYTPremium** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.4 | [✔︎](https://github.com/PoomSmart/NoYTPremium) |
|
| **NoYTPremium** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.4 | [✔︎](https://github.com/PoomSmart/NoYTPremium) |
|
||||||
| **YTNoPaidPromo** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://github.com/PoomSmart/YTNoPaidPromo) |
|
| **YTNoPaidPromo** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://github.com/PoomSmart/YTNoPaidPromo) |
|
||||||
| **YouRememberCaption** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/youremembercaption.html) |
|
| **YouRememberCaption** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/youremembercaption.html) |
|
||||||
| **Return YouTube Dislike** | [PoomSmart](https://twitter.com/poomsmart) | 1.11.3 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
|
| **Return YouTube Dislike** | [PoomSmart](https://twitter.com/poomsmart) | 1.11.6 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
|
||||||
| **YouMute** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.1-2 | [✔︎](https://github.com/PoomSmart/YouMute) |
|
| **YouMute** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.1-3 | [✔︎](https://github.com/PoomSmart/YouMute) |
|
||||||
| **YouQuality** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.4 | [✔︎](https://github.com/PoomSmart/YouQuality) |
|
| **YouQuality** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.4-2 | [✔︎](https://github.com/PoomSmart/YouQuality) |
|
||||||
| **YTVideoOverlay** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.0-2 | [✔︎](https://github.com/PoomSmart/YTVideoOverlay) |
|
| **YTVideoOverlay** | [PoomSmart](https://twitter.com/poomsmart) | 1.1.6 | [✔︎](https://github.com/PoomSmart/YTVideoOverlay) |
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
# Installation
|
## Installation
|
||||||
|
|
||||||
See [Installation - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Installation).
|
See [Installation - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Installation).
|
||||||
|
|
||||||
# Support the developers
|
## Features
|
||||||
- [**MiRO92**](https://twitter.com/miro92): https://github.com/MiRO92/uYou-for-YouTube#support
|
|
||||||
- [**Poomsmart**](https://twitter.com/poomsmart): https://poomsmart.github.io
|
1. **[uYou](https://miro92.com/repo/depictions/?p=com.miro.uyou):** Enhance your YouTube experience.
|
||||||
- [**level3tjg**](https://twitter.com/level3tjg): https://ko-fi.com/level3tjg
|
|
||||||
- [**BandarHL**](https://twitter.com/bandarhl): https://www.paypal.com/paypalme/BandarHL
|
2. **[iSponsorBlock](https://github.com/Galactic-Dev/iSponsorBlock):** A jailbreak tweak that implements the SponsorBlock API to skip sponsorships in YouTube vidoes.
|
||||||
- [**julioverne**](https://twitter.com/ijulioverne): https://www.patreon.com/julioverne
|
|
||||||
- [**Galactic-dev**](https://twitter.com/dev_galactic):
|
3. **[YouPiP](https://poomsmart.github.io/repo/depictions/youpip):** Enable **native PiP** in iOS YouTube app.
|
||||||
|
|
||||||
|
4. **[YTUHD](https://poomsmart.github.io/repo/depictions/ytuhd):** Unlock 1440p (2K) and 2160p (4K) resolutions in iOS YouTube app.
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>And many more!</summary>
|
||||||
|
|
||||||
|
5. **[YTClassicVideoQuality](https://poomsmart.github.io/repo/depictions/ytclassicvideoquality):** Revert to the original video quality selector in YouTube app.
|
||||||
|
|
||||||
|
6. **[YTNoHoverCards](https://level3tjg.me/repo/depictions/?p=com.level3tjg.ytnohovercards):** Disable overlay at the end of YouTube videos.
|
||||||
|
|
||||||
|
7. **[YouRememberCaption](https://poomsmart.github.io/repo/depictions/youremembercaption)**: Make YouTube remember your video caption setting, if not already.
|
||||||
|
|
||||||
|
8. **[NoYTPremium](https://poomsmart.github.io/repo/depictions/noytpremium)**: Remove YouTube Premium upsell alerts.
|
||||||
|
|
||||||
|
9. **[YTSpeed](http://cydia.saurik.com/package/com.lyvendia.ytspeed/)**: Simple playback speed tweak for the YouTube app on jailbroken iOS/iPadOS devices.
|
||||||
|
|
||||||
|
10. **[YTMiniplayerEnabler](https://level3tjg.me/repo/depictions/?p=com.level3tjg.ytminiplayerenabler)**: Enable Miniplayer for all YouTube videos.
|
||||||
|
|
||||||
|
11. **[DontEatMyContent](https://github.com/therealFoxster/DontEatMyContent)**: Prevent the notch/Dynamic Island from munching on 2:1 video content in YouTube.
|
||||||
|
|
||||||
|
12. **[YTABConfig](https://poomsmart.github.io/repo/depictions/ytabconfig)**: Configure A/B settings in iOS YouTube app.
|
||||||
|
|
||||||
|
13. **[YouMute](https://poomsmart.github.io/repo/depictions/youmute)**: Mute/unmute videos in iOS YouTube directly.
|
||||||
|
|
||||||
|
14. **[YouQuality](https://poomsmart.github.io/repo/depictions/youquality)**: View and change video quality in YouTube app from the video overlay.
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
|
- Special thanks to all the developers who have contributed to uYouPlus!
|
||||||
|
|
||||||
|
<table id='credits'>
|
||||||
|
<tr align='center'>
|
||||||
|
<td id='miro92'>
|
||||||
|
<a href='https://github.com/MiRO92'>
|
||||||
|
<img src='https://github.com/MiRO92.png' width='140px;' style='border-radius: 99999px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://twitter.com/miro92'>MiRO92</a>
|
||||||
|
</td>
|
||||||
|
<td id='poomsmart'>
|
||||||
|
<a href='https://github.com/PoomSmart'>
|
||||||
|
<img src='https://github.com/PoomSmart.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://twitter.com/poomsmart'>PoomSmart</a>
|
||||||
|
</td>
|
||||||
|
<td id='level3tjg'>
|
||||||
|
<a href='https://github.com/level3tjg'>
|
||||||
|
<img src='https://github.com/level3tjg.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://twitter.com/level3tjg'>level3tjg</a>
|
||||||
|
</td>
|
||||||
|
<td id='bandarHL'>
|
||||||
|
<a href='https://github.com/BandarHL'>
|
||||||
|
<img src='https://github.com/BandarHL.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://twitter.com/bandarhl'>BandarHelal</a>
|
||||||
|
</td>
|
||||||
|
<td id='galactic-dev'>
|
||||||
|
<a href='https://github.com/Galactic-Dev'>
|
||||||
|
<img src='https://github.com/Galactic-Dev.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://twitter.com/dev_galactic'>galactic</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr align='center'>
|
||||||
|
<td id='julioverne'>
|
||||||
|
<a href='https://github.com/julioverne'>
|
||||||
|
<img src='https://github.com/julioverne.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://twitter.com/ijulioverne'>julioverne</a>
|
||||||
|
</td>
|
||||||
|
<td id='hbang'>
|
||||||
|
<a href='https://github.com/hbang'>
|
||||||
|
<img src='https://github.com/hbang.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://twitter.com/hashbang'>HASHBANG</a>
|
||||||
|
</td>
|
||||||
|
<td id='lyvendia'>
|
||||||
|
<a href='https://github.com/Lyvendia'>
|
||||||
|
<img src='https://github.com/Lyvendia.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://github.com/Lyvendia'>Lyvendia</a>
|
||||||
|
</td>
|
||||||
|
<td id='foxster'>
|
||||||
|
<a href='https://github.com/therealFoxster'>
|
||||||
|
<img src='https://github.com/therealFoxster.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://github.com/therealFoxster'>Foxster</a>
|
||||||
|
</td>
|
||||||
|
<td id='ichitaso'>
|
||||||
|
<a href='https://github.com/ichitaso'>
|
||||||
|
<img src='https://github.com/ichitaso.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://twitter.com/ichitaso'>ichitaso</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr align='center'>
|
||||||
|
<td id='ahmed-bafkir'>
|
||||||
|
<a href='https://github.com/AhmedBafkir'>
|
||||||
|
<img src='https://github.com/AhmedBafkir.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://twitter.com/Peaceful_0'>Ahmed Bafkir</a>
|
||||||
|
</td>
|
||||||
|
<td id='cokepokes'>
|
||||||
|
<a href='https://github.com/CokePokes'>
|
||||||
|
<img src='https://github.com/CokePokes.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://twitter.com/cokepokes'>CokePokes</a>
|
||||||
|
</td>
|
||||||
|
<td id='isnackable'>
|
||||||
|
<a href='https://github.com/ISnackable'>
|
||||||
|
<img src='https://github.com/ISnackable.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://isnackable.me/'>Tommy Teo</a>
|
||||||
|
</td>
|
||||||
|
<td id='theos-team'>
|
||||||
|
<a href='https://github.com/theos/theos'>
|
||||||
|
<img src='https://github.com/theos.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://theos.dev'>theos</a>
|
||||||
|
</td>
|
||||||
|
<td id='qnblackcat'>
|
||||||
|
<a href='https://github.com/qnblackcat'>
|
||||||
|
<img src='https://github.com/qnblackcat.png' width='140px;'>
|
||||||
|
</a>
|
||||||
|
<br>
|
||||||
|
<a href='https://https://twitter.com/t70438299'>qnblackcat</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
## Support the developers!
|
||||||
|
|
||||||
|
- **MiRO92**: https://github.com/MiRO92/uYou-for-YouTube#support
|
||||||
|
- **PoomSmart**: https://poomsmart.github.io
|
||||||
|
- **level3tjg**: https://ko-fi.com/level3tjg
|
||||||
|
- **BandarHL**: https://www.paypal.com/paypalme/BandarHL
|
||||||
|
- **julioverne**: https://www.patreon.com/julioverne
|
||||||
|
- **Galactic-Dev**:
|
||||||
- Paypal: https://www.paypal.com/paypalme/DBrett684
|
- Paypal: https://www.paypal.com/paypalme/DBrett684
|
||||||
- Venmo: https://venmo.com/u/DavidBrett
|
- Venmo: https://venmo.com/u/DavidBrett
|
||||||
|
|
||||||
# FAQ
|
## FAQs
|
||||||
|
|
||||||
See [FAQ - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/FAQ).
|
See [FAQs - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/FAQs).
|
||||||
|
|
||||||
# Building (optional)
|
## Building
|
||||||
|
|
||||||
See [Building - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Building).
|
See [Building - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Building).
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
#import "../Tweaks/YouTubeHeader/YTAlertView.h"
|
|
||||||
#import "uYouPlus.h"
|
|
||||||
|
|
||||||
extern NSBundle *uYouPlusBundle();
|
|
||||||
|
|
||||||
// YTCastConfirm: https://github.com/JamieBerghmans/YTCastConfirm
|
|
||||||
%hook MDXPlaybackRouteButtonController
|
|
||||||
- (void)didPressButton:(id)arg1 {
|
|
||||||
if (IS_ENABLED(@"castConfirm_enabled")) {
|
|
||||||
NSBundle *tweakBundle = uYouPlusBundle();
|
|
||||||
YTAlertView *alertView = [%c(YTAlertView) confirmationDialogWithAction:^{
|
|
||||||
%orig;
|
|
||||||
} actionTitle:LOC(@"MSG_YES")];
|
|
||||||
alertView.title = LOC(@"CASTING");
|
|
||||||
alertView.subtitle = LOC(@"MSG_ARE_YOU_SURE");
|
|
||||||
[alertView show];
|
|
||||||
} else {
|
|
||||||
return %orig;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#import "../Tweaks/YouTubeHeader/YTPlayerOverlayProvider.h"
|
#import <YouTubeHeader/YTPlayerOverlayProvider.h>
|
||||||
#import "../Tweaks/YouTubeHeader/YTPlayerOverlay.h"
|
#import <YouTubeHeader/YTPlayerOverlay.h>
|
||||||
#import "uYouPlus.h"
|
#import "uYouPlus.h"
|
||||||
|
|
||||||
// YTNoPaidPromo: https://github.com/PoomSmart/YTNoPaidPromo
|
// YTNoPaidPromo: https://github.com/PoomSmart/YTNoPaidPromo
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#import "../Tweaks/YouTubeHeader/YTIPivotBarRenderer.h"
|
#import <YouTubeHeader/YTIPivotBarRenderer.h>
|
||||||
#import "../Tweaks/YouTubeHeader/YTIGuideResponse.h"
|
#import <YouTubeHeader/YTIGuideResponse.h>
|
||||||
#import "../Tweaks/YouTubeHeader/YTIGuideResponseSupportedRenderers.h"
|
#import <YouTubeHeader/YTIGuideResponseSupportedRenderers.h>
|
||||||
#import "../Tweaks/YouTubeHeader/YTIBrowseRequest.h"
|
#import <YouTubeHeader/YTIBrowseRequest.h>
|
||||||
#import "uYouPlus.h"
|
#import "uYouPlus.h"
|
||||||
|
|
||||||
%group YTReExplore // https://github.com/PoomSmart/YTReExplore/
|
%group YTReExplore // https://github.com/PoomSmart/YTReExplore/
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
#import "uYouPlus.h"
|
|
||||||
|
|
||||||
%group YTStockVolumeHUD // https://github.com/lilacvibes/YTStockVolumeHUD
|
|
||||||
%hook YTVolumeBarView
|
|
||||||
- (void)volumeChanged:(id)arg1 {
|
|
||||||
%orig(nil);
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook UIApplication
|
|
||||||
- (void)setSystemVolumeHUDEnabled:(BOOL)arg1 forAudioCategory:(id)arg2 {
|
|
||||||
%orig(true, arg2);
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
%end
|
|
||||||
|
|
||||||
%ctor {
|
|
||||||
if (IS_ENABLED(@"stockVolumeHUD_enabled")) {
|
|
||||||
%init(YTStockVolumeHUD);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+9
-2
@@ -7,8 +7,15 @@
|
|||||||
#import <rootless.h>
|
#import <rootless.h>
|
||||||
|
|
||||||
#import "uYouPlusThemes.h" // Hide "Buy Super Thanks" banner (_ASDisplayView)
|
#import "uYouPlusThemes.h" // Hide "Buy Super Thanks" banner (_ASDisplayView)
|
||||||
#import "../Tweaks/YouTubeHeader/YTAppDelegate.h" // Activate FLEX
|
#import <YouTubeHeader/YTAppDelegate.h> // Activate FLEX
|
||||||
// #import "../Tweaks/YouTubeHeader/YTISectionListRenderer.h" // Hide search ads by @PoomSmart - https://github.com/PoomSmart/YouTube-X
|
#import <YouTubeHeader/YTIMenuConditionalServiceItemRenderer.h>
|
||||||
|
|
||||||
|
// Hide buttons under the video player by @PoomSmart
|
||||||
|
#import <YouTubeHeader/ASCollectionElement.h>
|
||||||
|
#import <YouTubeHeader/ASCollectionView.h>
|
||||||
|
#import <YouTubeHeader/ELMNodeController.h>
|
||||||
|
|
||||||
|
// #import <YouTubeHeader/YTISectionListRenderer.h> // Hide search ads by @PoomSmart - https://github.com/PoomSmart/YouTube-X
|
||||||
|
|
||||||
#define LOC(x) [tweakBundle localizedStringForKey:x value:nil table:nil]
|
#define LOC(x) [tweakBundle localizedStringForKey:x value:nil table:nil]
|
||||||
#define IS_ENABLED(k) [[NSUserDefaults standardUserDefaults] boolForKey:k]
|
#define IS_ENABLED(k) [[NSUserDefaults standardUserDefaults] boolForKey:k]
|
||||||
|
|||||||
+71
-39
@@ -26,13 +26,6 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Disable double tap to seek
|
|
||||||
%hook YTDoubleTapToSeekController
|
|
||||||
- (void)enableDoubleTapToSeek:(BOOL)arg1 {
|
|
||||||
return IS_ENABLED(@"doubleTapToSeek_disabled") ? %orig(NO) : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Disable snap to chapter
|
// Disable snap to chapter
|
||||||
%hook YTSegmentableInlinePlayerBarView
|
%hook YTSegmentableInlinePlayerBarView
|
||||||
- (void)didMoveToWindow {
|
- (void)didMoveToWindow {
|
||||||
@@ -50,11 +43,68 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
// Hide useless buttons under the video player by @PoomSmart
|
||||||
|
static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *identifiers) {
|
||||||
|
for (id child in [nodeController children]) {
|
||||||
|
if ([child isKindOfClass:%c(ELMNodeController)]) {
|
||||||
|
NSArray <ELMComponent *> *elmChildren = [(ELMNodeController *)child children];
|
||||||
|
for (ELMComponent *elmChild in elmChildren) {
|
||||||
|
for (NSString *identifier in identifiers) {
|
||||||
|
if ([[elmChild description] containsString:identifier])
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ([child isKindOfClass:%c(ASNodeController)]) {
|
||||||
|
ASDisplayNode *childNode = ((ASNodeController *)child).node; // ELMContainerNode
|
||||||
|
NSArray *yogaChildren = childNode.yogaChildren;
|
||||||
|
for (ASDisplayNode *displayNode in yogaChildren) {
|
||||||
|
if ([identifiers containsObject:displayNode.accessibilityIdentifier])
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
return findCell(child, identifiers);
|
||||||
|
}
|
||||||
|
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
%hook ASCollectionView
|
||||||
|
|
||||||
|
- (CGSize)sizeForElement:(ASCollectionElement *)element {
|
||||||
|
if ([self.accessibilityIdentifier isEqualToString:@"id.video.scrollable_action_bar"]) {
|
||||||
|
ASCellNode *node = [element node];
|
||||||
|
ASNodeController *nodeController = [node controller];
|
||||||
|
if (IS_ENABLED(@"hideRemixButton_enabled") && findCell(nodeController, @[@"id.video.remix.button"])) {
|
||||||
|
return CGSizeZero;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IS_ENABLED(@"hideClipButton_enabled") && findCell(nodeController, @[@"clip_button.eml"])) {
|
||||||
|
return CGSizeZero;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IS_ENABLED(@"hideDownloadButton_enabled") && findCell(nodeController, @[@"id.ui.add_to.offline.button"])) {
|
||||||
|
return CGSizeZero;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return %orig;
|
||||||
|
}
|
||||||
|
|
||||||
|
%end
|
||||||
|
|
||||||
// Enable miniplayer for all videos
|
// Enable miniplayer for all videos
|
||||||
// See YTMiniPlayerEnabler.x
|
// See YTMiniPlayerEnabler.x
|
||||||
|
|
||||||
// Use stock iOS volume HUD
|
// Use stock iOS volume HUD
|
||||||
// See YTStockVolumeHUD.xm
|
// Use YTColdConfig's method instead of YTStockVolumeHUD.xm, see https://x.com/PoomSmart/status/1756904290445332653
|
||||||
|
%hook YTColdConfig
|
||||||
|
- (BOOL)iosUseSystemVolumeControlInFullscreen {
|
||||||
|
return IS_ENABLED(@"stockVolumeHUD_enabled") ? YES : %orig;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
# pragma mark - Video control overlay options
|
# pragma mark - Video control overlay options
|
||||||
|
|
||||||
@@ -87,21 +137,10 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
|||||||
else { return %orig; }
|
else { return %orig; }
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Hide next and previous buttons
|
|
||||||
%group gHidePreviousAndNextButton
|
|
||||||
%hook YTColdConfig
|
%hook YTColdConfig
|
||||||
- (BOOL)removeNextPaddleForSingletonVideos { return YES; }
|
- (BOOL)iosEnableFeaturedChannelWatermarkOverlayFix {
|
||||||
- (BOOL)removePreviousPaddleForSingletonVideos { return YES; }
|
return IS_ENABLED(@"hideChannelWatermark_enabled") ? NO : %orig;
|
||||||
%end
|
}
|
||||||
%end
|
|
||||||
|
|
||||||
// Replace next and previous buttons with fast forward and rewind
|
|
||||||
%group gReplacePreviousAndNextButton
|
|
||||||
%hook YTColdConfig
|
|
||||||
- (BOOL)replaceNextPaddleWithFastForwardButtonForSingletonVods { return YES; }
|
|
||||||
- (BOOL)replacePreviousPaddleWithRewindButtonForSingletonVods { return YES; }
|
|
||||||
%end
|
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Bring back the red progress bar - Broken?!
|
// Bring back the red progress bar - Broken?!
|
||||||
@@ -146,27 +185,19 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Disable resume to Shorts
|
|
||||||
%hook YTShortsStartupCoordinator
|
|
||||||
- (id)evaluateResumeToShorts {
|
|
||||||
return IS_ENABLED(@"disableResumeToShorts") ? nil : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
# pragma mark - Miscellaneous
|
# pragma mark - Miscellaneous
|
||||||
|
|
||||||
// Hide iSponsorBlock
|
// Hide iSponsorBlock
|
||||||
%hook YTRightNavigationButtons
|
%hook YTRightNavigationButtons
|
||||||
- (void)didMoveToWindow {
|
- (void)didMoveToWindow {
|
||||||
%orig;
|
%orig;
|
||||||
if (IS_ENABLED(@"hideiSponsorBlockButton_enabled"))
|
if (IS_ENABLED(@"hideiSponsorBlockButton_enabled")) {
|
||||||
self.sponsorBlockButton.hidden = YES;
|
self.sponsorBlockButton.hidden = YES;
|
||||||
|
self.sponsorBlockButton.frame = CGRectZero;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// YTCastConfirm
|
|
||||||
// See YTCastConfirm.xm
|
|
||||||
|
|
||||||
// Disable hints - https://github.com/LillieH001/YouTube-Reborn/blob/v4/
|
// Disable hints - https://github.com/LillieH001/YouTube-Reborn/blob/v4/
|
||||||
%group gDisableHints
|
%group gDisableHints
|
||||||
%hook YTSettings
|
%hook YTSettings
|
||||||
@@ -209,6 +240,13 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
|||||||
%end
|
%end
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
// Hide "Play next in queue" - qnblackcat/uYouPlus#1138
|
||||||
|
%hook YTMenuItemVisibilityHandler
|
||||||
|
- (BOOL)shouldShowServiceItemRenderer:(YTIMenuConditionalServiceItemRenderer *)renderer {
|
||||||
|
return IS_ENABLED(@"hidePlayNextInQueue_enabled") && renderer.icon.iconType == 251 ? NO : %orig;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
// Force iPhone layout
|
// Force iPhone layout
|
||||||
%group giPhoneLayout
|
%group giPhoneLayout
|
||||||
%hook UIDevice
|
%hook UIDevice
|
||||||
@@ -310,12 +348,6 @@ NSBundle *tweakBundle = uYouPlusBundle();
|
|||||||
// dlopen([[NSString stringWithFormat:@"%@/Frameworks/uYou.dylib", [[NSBundle mainBundle] bundlePath]] UTF8String], RTLD_LAZY);
|
// dlopen([[NSString stringWithFormat:@"%@/Frameworks/uYou.dylib", [[NSBundle mainBundle] bundlePath]] UTF8String], RTLD_LAZY);
|
||||||
|
|
||||||
%init;
|
%init;
|
||||||
if (IS_ENABLED(@"hidePreviousAndNextButton_enabled")) {
|
|
||||||
%init(gHidePreviousAndNextButton);
|
|
||||||
}
|
|
||||||
if (IS_ENABLED(@"replacePreviousAndNextButton_enabled")) {
|
|
||||||
%init(gReplacePreviousAndNextButton);
|
|
||||||
}
|
|
||||||
if (IS_ENABLED(@"disableHints_enabled")) {
|
if (IS_ENABLED(@"disableHints_enabled")) {
|
||||||
%init(gDisableHints);
|
%init(gDisableHints);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#import "../Tweaks/YouTubeHeader/YTCommonColorPalette.h"
|
#import <YouTubeHeader/YTCommonColorPalette.h>
|
||||||
#import "uYouPlus.h"
|
#import "uYouPlus.h"
|
||||||
|
|
||||||
@interface YTSingleVideoController : NSObject
|
@interface YTSingleVideoController : NSObject
|
||||||
|
|||||||
+44
-42
@@ -62,36 +62,36 @@
|
|||||||
%end
|
%end
|
||||||
|
|
||||||
// iOS 16 uYou crash fix - @level3tjg: https://github.com/qnblackcat/uYouPlus/pull/224
|
// iOS 16 uYou crash fix - @level3tjg: https://github.com/qnblackcat/uYouPlus/pull/224
|
||||||
%group iOS16
|
// %group iOS16
|
||||||
%hook OBPrivacyLinkButton
|
// %hook OBPrivacyLinkButton
|
||||||
%new
|
// %new
|
||||||
- (instancetype)initWithCaption:(NSString *)caption
|
// - (instancetype)initWithCaption:(NSString *)caption
|
||||||
buttonText:(NSString *)buttonText
|
// buttonText:(NSString *)buttonText
|
||||||
image:(UIImage *)image
|
// image:(UIImage *)image
|
||||||
imageSize:(CGSize)imageSize
|
// imageSize:(CGSize)imageSize
|
||||||
useLargeIcon:(BOOL)useLargeIcon {
|
// useLargeIcon:(BOOL)useLargeIcon {
|
||||||
return [self initWithCaption:caption
|
// return [self initWithCaption:caption
|
||||||
buttonText:buttonText
|
// buttonText:buttonText
|
||||||
image:image
|
// image:image
|
||||||
imageSize:imageSize
|
// imageSize:imageSize
|
||||||
useLargeIcon:useLargeIcon
|
// useLargeIcon:useLargeIcon
|
||||||
displayLanguage:[NSLocale currentLocale].languageCode];
|
// displayLanguage:[NSLocale currentLocale].languageCode];
|
||||||
}
|
// }
|
||||||
%end
|
// %end
|
||||||
%end
|
// %end
|
||||||
|
|
||||||
// Fix uYou playback speed crashes YT v18.49.3+, see https://github.com/iCrazeiOS/uYouCrashFix
|
// Fix uYou playback speed crashes YT v18.49.3+, see https://github.com/iCrazeiOS/uYouCrashFix
|
||||||
%hook YTPlayerViewController
|
// %hook YTPlayerViewController
|
||||||
%new
|
// %new
|
||||||
-(float)currentPlaybackRateForVarispeedSwitchController:(id)arg1 {
|
// -(float)currentPlaybackRateForVarispeedSwitchController:(id)arg1 {
|
||||||
return [[self activeVideo] playbackRate];
|
// return [[self activeVideo] playbackRate];
|
||||||
}
|
// }
|
||||||
|
|
||||||
%new
|
// %new
|
||||||
-(void)varispeedSwitchController:(id)arg1 didSelectRate:(float)arg2 {
|
// -(void)varispeedSwitchController:(id)arg1 didSelectRate:(float)arg2 {
|
||||||
[[self activeVideo] setPlaybackRate:arg2];
|
// [[self activeVideo] setPlaybackRate:arg2];
|
||||||
}
|
// }
|
||||||
%end
|
// %end
|
||||||
|
|
||||||
// Fix streched artwork in uYou's player view - https://github.com/MiRO92/uYou-for-YouTube/issues/287
|
// Fix streched artwork in uYou's player view - https://github.com/MiRO92/uYou-for-YouTube/issues/287
|
||||||
%hook ArtworkImageView
|
%hook ArtworkImageView
|
||||||
@@ -116,8 +116,17 @@
|
|||||||
%end
|
%end
|
||||||
|
|
||||||
// Fix uYou's appearance not updating if the app is backgrounded
|
// Fix uYou's appearance not updating if the app is backgrounded
|
||||||
DownloadsPagerVC *downloadsPagerVC;
|
static DownloadsPagerVC *downloadsPagerVC;
|
||||||
NSUInteger selectedTabIndex;
|
static NSUInteger selectedTabIndex;
|
||||||
|
%hook DownloadsPagerVC
|
||||||
|
- (id)init {
|
||||||
|
downloadsPagerVC = %orig;
|
||||||
|
return downloadsPagerVC;
|
||||||
|
}
|
||||||
|
- (void)viewPager:(id)viewPager didChangeTabToIndex:(NSUInteger)arg1 fromTabIndex:(NSUInteger)arg2 {
|
||||||
|
%orig; selectedTabIndex = arg1;
|
||||||
|
}
|
||||||
|
%end
|
||||||
static void refreshUYouAppearance() {
|
static void refreshUYouAppearance() {
|
||||||
if (!downloadsPagerVC) return;
|
if (!downloadsPagerVC) return;
|
||||||
// View pager
|
// View pager
|
||||||
@@ -156,19 +165,12 @@ static void refreshUYouAppearance() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%hook DownloadsPagerVC
|
|
||||||
- (instancetype)init {
|
|
||||||
downloadsPagerVC = %orig;
|
|
||||||
return downloadsPagerVC;
|
|
||||||
}
|
|
||||||
- (void)viewPager:(id)viewPager didChangeTabToIndex:(NSUInteger)arg1 fromTabIndex:(NSUInteger)arg2 {
|
|
||||||
%orig; selectedTabIndex = arg1;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
%hook UIViewController
|
%hook UIViewController
|
||||||
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
|
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
|
||||||
%orig;
|
%orig;
|
||||||
refreshUYouAppearance();
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
|
refreshUYouAppearance();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
@@ -196,9 +198,9 @@ static void refreshUYouAppearance() {
|
|||||||
|
|
||||||
%ctor {
|
%ctor {
|
||||||
%init;
|
%init;
|
||||||
if (@available(iOS 16, *)) {
|
// if (@available(iOS 16, *)) {
|
||||||
%init(iOS16);
|
// %init(iOS16);
|
||||||
}
|
// }
|
||||||
|
|
||||||
// Disable broken options
|
// Disable broken options
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#import "../Tweaks/YouTubeHeader/YTSettingsViewController.h"
|
#import <YouTubeHeader/YTSettingsViewController.h>
|
||||||
#import "../Tweaks/YouTubeHeader/YTSearchableSettingsViewController.h"
|
#import <YouTubeHeader/YTSearchableSettingsViewController.h>
|
||||||
#import "../Tweaks/YouTubeHeader/YTSettingsSectionItem.h"
|
#import <YouTubeHeader/YTSettingsSectionItem.h>
|
||||||
#import "../Tweaks/YouTubeHeader/YTSettingsSectionItemManager.h"
|
#import <YouTubeHeader/YTSettingsSectionItemManager.h>
|
||||||
#import "../Tweaks/YouTubeHeader/YTUIUtils.h"
|
#import <YouTubeHeader/YTUIUtils.h>
|
||||||
#import "../Tweaks/YouTubeHeader/YTSettingsPickerViewController.h"
|
#import <YouTubeHeader/YTSettingsPickerViewController.h>
|
||||||
#import "uYouPlus.h"
|
#import "uYouPlus.h"
|
||||||
|
|
||||||
// For displaying snackbars
|
// For displaying snackbars
|
||||||
|
|||||||
@@ -164,10 +164,12 @@ extern NSBundle *uYouPlusBundle();
|
|||||||
SECTION_HEADER(LOC(@"VIDEO_PLAYER_OPTIONS"));
|
SECTION_HEADER(LOC(@"VIDEO_PLAYER_OPTIONS"));
|
||||||
|
|
||||||
SWITCH_ITEM2(LOC(@"SLIDE_TO_SEEK"), LOC(@"SLIDE_TO_SEEK_DESC"), @"slideToSeek_enabled");
|
SWITCH_ITEM2(LOC(@"SLIDE_TO_SEEK"), LOC(@"SLIDE_TO_SEEK_DESC"), @"slideToSeek_enabled");
|
||||||
SWITCH_ITEM(LOC(@"DISABLE_DOUBLE_TAP_TO_SEEK"), LOC(@"DISABLE_DOUBLE_TAP_TO_SEEK_DESC"), @"doubleTapToSeek_disabled");
|
|
||||||
SWITCH_ITEM2(LOC(@"SNAP_TO_CHAPTER"), LOC(@"SNAP_TO_CHAPTER_DESC"), @"snapToChapter_enabled");
|
SWITCH_ITEM2(LOC(@"SNAP_TO_CHAPTER"), LOC(@"SNAP_TO_CHAPTER_DESC"), @"snapToChapter_enabled");
|
||||||
SWITCH_ITEM2(LOC(@"PINCH_TO_ZOOM"), LOC(@"PINCH_TO_ZOOM_DESC"), @"pinchToZoom_enabled");
|
SWITCH_ITEM2(LOC(@"PINCH_TO_ZOOM"), LOC(@"PINCH_TO_ZOOM_DESC"), @"pinchToZoom_enabled");
|
||||||
SWITCH_ITEM(LOC(@"YT_MINIPLAYER"), LOC(@"YT_MINIPLAYER_DESC"), @"ytMiniPlayer_enabled");
|
SWITCH_ITEM(LOC(@"YT_MINIPLAYER"), LOC(@"YT_MINIPLAYER_DESC"), @"ytMiniPlayer_enabled");
|
||||||
|
SWITCH_ITEM(LOC(@"HIDE_REMIX_BUTTON"), LOC(@"HIDE_REMIX_BUTTON_DESC"), @"hideRemixButton_enabled");
|
||||||
|
SWITCH_ITEM(LOC(@"HIDE_CLIP_BUTTON"), LOC(@"HIDE_CLIP_BUTTON_DESC"), @"hideClipButton_enabled");
|
||||||
|
SWITCH_ITEM(LOC(@"HIDE_DOWNLOAD_BUTTON"), LOC(@"HIDE_DOWNLOAD_BUTTON_DESC"), @"hideDownloadButton_enabled");
|
||||||
SWITCH_ITEM(LOC(@"STOCK_VOLUME_HUD"), LOC(@"STOCK_VOLUME_HUD_DESC"), @"stockVolumeHUD_enabled");
|
SWITCH_ITEM(LOC(@"STOCK_VOLUME_HUD"), LOC(@"STOCK_VOLUME_HUD_DESC"), @"stockVolumeHUD_enabled");
|
||||||
|
|
||||||
# pragma mark - Video controls overlay options
|
# pragma mark - Video controls overlay options
|
||||||
@@ -178,8 +180,6 @@ extern NSBundle *uYouPlusBundle();
|
|||||||
SWITCH_ITEM(LOC(@"HIDE_HUD_MESSAGES"), LOC(@"HIDE_HUD_MESSAGES_DESC"), @"hideHUD_enabled");
|
SWITCH_ITEM(LOC(@"HIDE_HUD_MESSAGES"), LOC(@"HIDE_HUD_MESSAGES_DESC"), @"hideHUD_enabled");
|
||||||
SWITCH_ITEM(LOC(@"HIDE_PAID_PROMOTION_CARDS"), LOC(@"HIDE_PAID_PROMOTION_CARDS_DESC"), @"hidePaidPromotionCard_enabled");
|
SWITCH_ITEM(LOC(@"HIDE_PAID_PROMOTION_CARDS"), LOC(@"HIDE_PAID_PROMOTION_CARDS_DESC"), @"hidePaidPromotionCard_enabled");
|
||||||
SWITCH_ITEM2(LOC(@"HIDE_CHANNEL_WATERMARK"), LOC(@"HIDE_CHANNEL_WATERMARK_DESC"), @"hideChannelWatermark_enabled");
|
SWITCH_ITEM2(LOC(@"HIDE_CHANNEL_WATERMARK"), LOC(@"HIDE_CHANNEL_WATERMARK_DESC"), @"hideChannelWatermark_enabled");
|
||||||
SWITCH_ITEM(LOC(@"HIDE_PREVIOUS_AND_NEXT_BUTTON"), LOC(@"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC"), @"hidePreviousAndNextButton_enabled");
|
|
||||||
SWITCH_ITEM2(LOC(@"REPLACE_PREVIOUS_NEXT_BUTTON"), LOC(@"REPLACE_PREVIOUS_NEXT_BUTTON_DESC"), @"replacePreviousAndNextButton_enabled");
|
|
||||||
SWITCH_ITEM2(LOC(@"RED_PROGRESS_BAR"), LOC(@"RED_PROGRESS_BAR_DESC"), @"redProgressBar_enabled");
|
SWITCH_ITEM2(LOC(@"RED_PROGRESS_BAR"), LOC(@"RED_PROGRESS_BAR_DESC"), @"redProgressBar_enabled");
|
||||||
SWITCH_ITEM(LOC(@"HIDE_HOVER_CARD"), LOC(@"HIDE_HOVER_CARD_DESC"), @"hideHoverCards_enabled");
|
SWITCH_ITEM(LOC(@"HIDE_HOVER_CARD"), LOC(@"HIDE_HOVER_CARD_DESC"), @"hideHoverCards_enabled");
|
||||||
SWITCH_ITEM2(LOC(@"HIDE_RIGHT_PANEL"), LOC(@"HIDE_RIGHT_PANEL_DESC"), @"hideRightPanel_enabled");
|
SWITCH_ITEM2(LOC(@"HIDE_RIGHT_PANEL"), LOC(@"HIDE_RIGHT_PANEL_DESC"), @"hideRightPanel_enabled");
|
||||||
@@ -189,16 +189,13 @@ extern NSBundle *uYouPlusBundle();
|
|||||||
|
|
||||||
SWITCH_ITEM(LOC(@"HIDE_SUPER_THANKS"), LOC(@"HIDE_SUPER_THANKS_DESC"), @"hideBuySuperThanks_enabled");
|
SWITCH_ITEM(LOC(@"HIDE_SUPER_THANKS"), LOC(@"HIDE_SUPER_THANKS_DESC"), @"hideBuySuperThanks_enabled");
|
||||||
SWITCH_ITEM(LOC(@"HIDE_SUBCRIPTIONS"), LOC(@"HIDE_SUBCRIPTIONS_DESC"), @"hideSubcriptions_enabled");
|
SWITCH_ITEM(LOC(@"HIDE_SUBCRIPTIONS"), LOC(@"HIDE_SUBCRIPTIONS_DESC"), @"hideSubcriptions_enabled");
|
||||||
SWITCH_ITEM(LOC(@"DISABLE_RESUME_TO_SHORTS"), LOC(@"DISABLE_RESUME_TO_SHORTS_DESC"), @"disableResumeToShorts");
|
|
||||||
|
|
||||||
# pragma mark - Miscellaneous
|
# pragma mark - Miscellaneous
|
||||||
SECTION_HEADER(LOC(@"MISCELLANEOUS"));
|
SECTION_HEADER(LOC(@"MISCELLANEOUS"));
|
||||||
|
|
||||||
// SWITCH_ITEM2(LOC(@"HIDE_UYOU"), nil, @"hideUYouTab_enabled"); // We stay on 19.02.1 until MiRO92 update uYou?
|
SWITCH_ITEM(LOC(@"HIDE_ISPONSORBLOCK"), nil, @"hideiSponsorBlockButton_enabled");
|
||||||
SWITCH_ITEM2(LOC(@"HIDE_ISPONSORBLOCK"), nil, @"hideiSponsorBlockButton_enabled");
|
|
||||||
SWITCH_ITEM(LOC(@"CAST_CONFIRM"), LOC(@"CAST_CONFIRM_DESC"), @"castConfirm_enabled");
|
|
||||||
SWITCH_ITEM(LOC(@"DISABLE_HINTS"), LOC(@"DISABLE_HINTS_DESC"), @"disableHints_enabled");
|
SWITCH_ITEM(LOC(@"DISABLE_HINTS"), LOC(@"DISABLE_HINTS_DESC"), @"disableHints_enabled");
|
||||||
SWITCH_ITEM(LOC(@"ENABLE_YT_STARTUP_ANIMATION"), LOC(@"ENABLE_YT_STARTUP_ANIMATION_DESC"), @"ytStartupAnimation_enabled");
|
SWITCH_ITEM2(LOC(@"ENABLE_YT_STARTUP_ANIMATION"), LOC(@"ENABLE_YT_STARTUP_ANIMATION_DESC"), @"ytStartupAnimation_enabled");
|
||||||
SWITCH_ITEM(LOC(@"HIDE_CHIP_BAR"), LOC(@"HIDE_CHIP_BAR_DESC"), @"hideChipBar_enabled");
|
SWITCH_ITEM(LOC(@"HIDE_CHIP_BAR"), LOC(@"HIDE_CHIP_BAR_DESC"), @"hideChipBar_enabled");
|
||||||
SWITCH_ITEM(LOC(@"HIDE_PLAY_NEXT_IN_QUEUE"), LOC(@"HIDE_PLAY_NEXT_IN_QUEUE_DESC"), @"hidePlayNextInQueue_enabled");
|
SWITCH_ITEM(LOC(@"HIDE_PLAY_NEXT_IN_QUEUE"), LOC(@"HIDE_PLAY_NEXT_IN_QUEUE_DESC"), @"hidePlayNextInQueue_enabled");
|
||||||
SWITCH_ITEM2(LOC(@"IPHONE_LAYOUT"), LOC(@"IPHONE_LAYOUT_DESC"), @"iPhoneLayout_enabled");
|
SWITCH_ITEM2(LOC(@"IPHONE_LAYOUT"), LOC(@"IPHONE_LAYOUT_DESC"), @"iPhoneLayout_enabled");
|
||||||
|
|||||||
+12
-11
@@ -1,9 +1,10 @@
|
|||||||
#import "../Tweaks/YouTubeHeader/YTCommonColorPalette.h"
|
#import <YouTubeHeader/YTCommonColorPalette.h>
|
||||||
#import "../Tweaks/YouTubeHeader/ASCollectionView.h"
|
#import <YouTubeHeader/ASCollectionView.h>
|
||||||
|
#import <YouTubeHeader/_ASDisplayView.h>
|
||||||
#import "uYouPlus.h"
|
#import "uYouPlus.h"
|
||||||
|
|
||||||
@interface YCHLiveChatView : UIView
|
// @interface YCHLiveChatView : UIView
|
||||||
@end
|
// @end
|
||||||
|
|
||||||
@interface YTFullscreenEngagementOverlayView : UIView
|
@interface YTFullscreenEngagementOverlayView : UIView
|
||||||
@end
|
@end
|
||||||
@@ -11,8 +12,8 @@
|
|||||||
@interface YTRelatedVideosView : UIView
|
@interface YTRelatedVideosView : UIView
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface ELMView : UIView
|
// @interface ELMView : UIView
|
||||||
@end
|
// @end
|
||||||
|
|
||||||
@interface ASWAppSwitcherCollectionViewCell : UIView
|
@interface ASWAppSwitcherCollectionViewCell : UIView
|
||||||
@end
|
@end
|
||||||
@@ -26,11 +27,8 @@
|
|||||||
@interface UIKeyboardDockView : UIView
|
@interface UIKeyboardDockView : UIView
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface _ASDisplayView : UIView
|
// @interface YTCommentDetailHeaderCell : UIView
|
||||||
@end
|
// @end
|
||||||
|
|
||||||
@interface YTCommentDetailHeaderCell : UIView
|
|
||||||
@end
|
|
||||||
|
|
||||||
@interface SponsorBlockSettingsController : UITableViewController
|
@interface SponsorBlockSettingsController : UITableViewController
|
||||||
@end
|
@end
|
||||||
@@ -44,6 +42,9 @@
|
|||||||
@interface UIPredictionViewController : UIViewController
|
@interface UIPredictionViewController : UIViewController
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@interface TUIEmojiSearchView : UIView
|
||||||
|
@end
|
||||||
|
|
||||||
@interface FRPreferences : UITableViewController
|
@interface FRPreferences : UITableViewController
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
+47
-106
@@ -123,22 +123,20 @@ UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Your videos
|
// Download sort
|
||||||
|
%hook GOODialogView
|
||||||
|
- (void)setBackgroundColor:(UIColor *)color {
|
||||||
|
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
// Playlist sort
|
||||||
%hook ASCollectionView
|
%hook ASCollectionView
|
||||||
- (void)didMoveToWindow {
|
- (void)didMoveToWindow {
|
||||||
%orig;
|
%orig;
|
||||||
if (IS_DARK_APPEARANCE_ENABLED && [self.nextResponder isKindOfClass:%c(_ASDisplayView)]) {
|
if (IS_DARK_APPEARANCE_ENABLED && [self.nextResponder isKindOfClass:%c(_ASDisplayView)]) {
|
||||||
self.superview.backgroundColor = [UIColor blackColor];
|
self.superview.backgroundColor = [UIColor blackColor];
|
||||||
}
|
self.backgroundColor = [UIColor clearColor];
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Sub menu?
|
|
||||||
%hook ELMView
|
|
||||||
- (void)didMoveToWindow {
|
|
||||||
%orig;
|
|
||||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
|
||||||
// self.subviews[0].backgroundColor = [UIColor clearColor];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
@@ -162,111 +160,48 @@ UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Search view
|
|
||||||
%hook YTSearchBarView
|
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
|
||||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// History search view
|
|
||||||
%hook YTSearchBoxView
|
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
|
||||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
|
||||||
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Comment view
|
|
||||||
%hook YTCommentView
|
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
|
||||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTCreateCommentAccessoryView
|
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
|
||||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTCreateCommentTextView
|
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
|
||||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
|
||||||
}
|
|
||||||
- (void)setTextColor:(UIColor *)color { // fix black text in #Shorts video's comment
|
|
||||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor whiteColor]) : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTCommentDetailHeaderCell
|
|
||||||
- (void)didMoveToWindow {
|
|
||||||
%orig;
|
|
||||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
|
||||||
// self.subviews[2].backgroundColor = [UIColor blackColor];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTFormattedStringLabel // YT is werid...
|
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
|
||||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor clearColor]) : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Live chat comment
|
|
||||||
%hook YCHLiveChatActionPanelView
|
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
|
||||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTEmojiTextView
|
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
|
||||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YCHLiveChatView
|
|
||||||
- (void)didMoveToWindow {
|
|
||||||
%orig;
|
|
||||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
|
||||||
// self.subviews[1].backgroundColor = [UIColor blackColor];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTCollectionView
|
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
|
||||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
//
|
|
||||||
%hook YTBackstageCreateRepostDetailView
|
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
|
||||||
return IS_DARK_APPEARANCE_ENABLED ? %orig([UIColor blackColor]) : %orig;
|
|
||||||
}
|
|
||||||
%end
|
|
||||||
|
|
||||||
// Others
|
// Others
|
||||||
%hook _ASDisplayView
|
%hook _ASDisplayView
|
||||||
- (void)didMoveToWindow {
|
- (void)didMoveToWindow {
|
||||||
%orig;
|
%orig;
|
||||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||||
if ([self.nextResponder isKindOfClass:%c(ASScrollView)]) { self.backgroundColor = [UIColor clearColor]; }
|
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"eml.cvr"]) { self.backgroundColor = [UIColor blackColor]; }
|
//
|
||||||
|
UIResponder *responder = self.nextResponder;
|
||||||
|
UIViewController *closestViewController = nil;
|
||||||
|
|
||||||
|
while (responder != nil) {
|
||||||
|
if ([responder isKindOfClass:[UIViewController class]]) {
|
||||||
|
closestViewController = (UIViewController *)responder;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
responder = responder.nextResponder;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ([NSStringFromClass([closestViewController class]) isEqualToString:@"YTActionSheetDialogViewController"] &&
|
||||||
|
(([NSStringFromClass([self.superview class]) isEqualToString:@"YTELMView"]) ||
|
||||||
|
[NSStringFromClass([self.superview class]) isEqualToString:@"_ASDisplayView"] ||
|
||||||
|
[NSStringFromClass([self.superview class]) isEqualToString:@"ELMView"])) {
|
||||||
|
|
||||||
|
self.backgroundColor = [UIColor clearColor];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save video bottom
|
||||||
|
if ([NSStringFromClass([closestViewController class]) isEqualToString:@"YTBottomSheetController"]) { self.backgroundColor = [UIColor clearColor]; }
|
||||||
|
|
||||||
|
// Subcriptions header
|
||||||
|
if ([NSStringFromClass([closestViewController class]) isEqualToString:@"YTMySubsFilterHeaderViewController"] &&
|
||||||
|
([NSStringFromClass([self.superview class]) isEqualToString:@"YTELMView"])) {
|
||||||
|
self.backgroundColor = [UIColor clearColor];
|
||||||
|
}
|
||||||
|
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"eml.live_chat_text_message"]) { self.backgroundColor = [UIColor blackColor]; }
|
if ([self.accessibilityIdentifier isEqualToString:@"eml.live_chat_text_message"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"rich_header"]) { self.backgroundColor = [UIColor blackColor]; }
|
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"id.ui.comment_cell"]) { self.backgroundColor = [UIColor blackColor]; }
|
if ([self.accessibilityIdentifier isEqualToString:@"id.ui.comment_cell"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"id.ui.cancel.button"]) { self.superview.backgroundColor = [UIColor clearColor]; }
|
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.comment_composer"]) { self.backgroundColor = [UIColor blackColor]; }
|
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.comment_composer"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.video_list_entry"]) { self.backgroundColor = [UIColor blackColor]; }
|
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.video_list_entry"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.guidelines_text"]) { self.superview.backgroundColor = [UIColor blackColor]; }
|
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.guidelines_text"]) { self.superview.backgroundColor = [UIColor blackColor]; }
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.channel_guidelines_bottom_sheet_container"]) { self.backgroundColor = [UIColor blackColor]; }
|
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.channel_guidelines_entry_banner_container"]) { self.backgroundColor = [UIColor blackColor]; }
|
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.channel_guidelines_entry_banner_container"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.comment_group_detail_container"]) { self.backgroundColor = [UIColor clearColor]; }
|
if ([self.accessibilityIdentifier isEqualToString:@"id.comment.comment_group_detail_container"]) { self.backgroundColor = [UIColor clearColor]; }
|
||||||
if ([self.accessibilityIdentifier hasPrefix:@"id.elements.components.overflow_menu_item_"]) { self.backgroundColor = [UIColor clearColor]; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
@@ -289,7 +224,6 @@ UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:
|
|||||||
%orig;
|
%orig;
|
||||||
if (IS_DARK_APPEARANCE_ENABLED) {
|
if (IS_DARK_APPEARANCE_ENABLED) {
|
||||||
self.backgroundColor = raisedColor;
|
self.backgroundColor = raisedColor;
|
||||||
// self.subviews[1].backgroundColor = raisedColor;
|
|
||||||
self.superview.backgroundColor = raisedColor;
|
self.superview.backgroundColor = raisedColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -304,6 +238,13 @@ UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:
|
|||||||
# pragma mark - OLED keyboard by @ichitaso <3 - http://gist.github.com/ichitaso/935100fd53a26f18a9060f7195a1be0e
|
# pragma mark - OLED keyboard by @ichitaso <3 - http://gist.github.com/ichitaso/935100fd53a26f18a9060f7195a1be0e
|
||||||
|
|
||||||
%group gOLEDKB
|
%group gOLEDKB
|
||||||
|
%hook TUIEmojiSearchView
|
||||||
|
- (void)didMoveToWindow {
|
||||||
|
%orig;
|
||||||
|
self.backgroundColor = [UIColor blackColor];
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
%hook UIPredictionViewController
|
%hook UIPredictionViewController
|
||||||
- (void)loadView {
|
- (void)loadView {
|
||||||
%orig;
|
%orig;
|
||||||
@@ -347,4 +288,4 @@ UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:
|
|||||||
if (IS_ENABLED(@"oledKeyBoard_enabled")) {
|
if (IS_ENABLED(@"oledKeyBoard_enabled")) {
|
||||||
%init(gOLEDKB);
|
%init(gOLEDKB);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
Submodule Tweaks/DontEatMyContent updated: fea6b066e8...799889b14b
+1
-1
Submodule Tweaks/FLEXing updated: f7a65cf89b...5da213c3c9
+1
-1
Submodule Tweaks/IAmYouTube updated: f3872945d9...fbc81ebcdd
Submodule Tweaks/PSHeader deleted from b836acf9c1
Submodule Tweaks/Return-YouTube-Dislikes updated: 720578a621...62d2667649
+1
-1
Submodule Tweaks/YTABConfig updated: c677a585e2...756eaf23e3
Submodule Tweaks/YTClassicVideoQuality updated: d983151bcb...36cde2a9b0
+1
-1
Submodule Tweaks/YTUHD updated: a53583681d...8296cbffe8
+1
-1
Submodule Tweaks/YTVideoOverlay updated: d255e19275...3be845ea98
+1
-1
Submodule Tweaks/YouMute updated: 7ffdb1eda6...6206fab1cc
+1
-1
Submodule Tweaks/YouPiP updated: 0597b15d57...0feea3fb00
+1
-1
Submodule Tweaks/YouQuality updated: 7a9841410d...d99626fb7a
+1
-1
Submodule Tweaks/YouTubeHeader updated: 4e9ea16e22...9256171c51
+1
-1
Submodule Tweaks/iSponsorBlock updated: 4f643248d6...b829efeeaf
@@ -6,5 +6,5 @@ Maintainer: qnblackcat
|
|||||||
Author: qnblackcat
|
Author: qnblackcat
|
||||||
Section: Tweaks
|
Section: Tweaks
|
||||||
Depends: mobilesubstrate (>= 0.9.5000), com.miro.uyou
|
Depends: mobilesubstrate (>= 0.9.5000), com.miro.uyou
|
||||||
Conflicts: com.level3tjg.ytminiplayerenabler, com.level3tjg.ytnohovercards, com.devvix.ytcastconfirm, com.ps.ytclassicvideoquality, com.ps.noytpremium, com.ps.ytnopaidpromo, com.ps.ytreexplore, com.galacticdev.bigytminiplayer, me.foxster.donteatmycontent, com.lilacvibes.ytstockvolumehud, net.sarahh12099.youtubereborn, com.twickd.sarahh12099.youtube-reborn, h.ryan.youtubereborn, weeb.lillie.enhancerforyoutubepremium, com.ps.uyoucompat, com.ichitaso.uyouplus
|
Conflicts: com.level3tjg.ytminiplayerenabler, com.level3tjg.ytnohovercards, com.ps.noytpremium, com.ps.ytnopaidpromo, com.ps.ytreexplore, com.galacticdev.bigytminiplayer, com.lilacvibes.ytstockvolumehud, net.sarahh12099.youtubereborn, com.twickd.sarahh12099.youtube-reborn, h.ryan.youtubereborn, weeb.lillie.enhancerforyoutubepremium, com.ps.uyoucompat, com.ichitaso.uyouplus
|
||||||
Recommends: com.ps.youmute, com.ps.youpip, com.ps.youquality, com.ps.ytabconfig, com.ps.ytvideooverlay, libflex, weeb.lillie.youtubedislikesreturn
|
Recommends: com.ps.youmute, com.ps.youpip, com.ps.youquality, com.ps.ytabconfig, com.ps.ytvideooverlay, libflex, weeb.lillie.youtubedislikesreturn
|
||||||
|
|||||||
Reference in New Issue
Block a user