Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f325a31196 | ||
|
|
cab48bbe9e | ||
|
|
5424e4a9e8 | ||
|
|
d7a7c90cf0 | ||
|
|
fe45ebaac1 | ||
|
|
4590369aa1 | ||
|
|
36bf21ad2e | ||
|
|
c2d1581698 | ||
|
|
ca0650d73a |
@@ -12,8 +12,8 @@
|
|||||||
@interface YTMainAppControlsOverlayView : UIView
|
@interface YTMainAppControlsOverlayView : UIView
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@interface YTTransportControlsButtonView : UIView
|
// @interface YTTransportControlsButtonView : UIView
|
||||||
@end
|
// @end
|
||||||
|
|
||||||
@interface _ASCollectionViewCell : UICollectionViewCell
|
@interface _ASCollectionViewCell : UICollectionViewCell
|
||||||
- (id)node;
|
- (id)node;
|
||||||
@@ -23,9 +23,8 @@
|
|||||||
- (void)removeShortsAndFeaturesAdsAtIndexPath:(NSIndexPath *)indexPath;
|
- (void)removeShortsAndFeaturesAdsAtIndexPath:(NSIndexPath *)indexPath;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
// @interface YTPlaylistHeaderViewController : UIViewController
|
@interface FRPSliderCell : UITableViewCell
|
||||||
// @property (nonatomic, strong, readwrite) UIView *downloadsButton;
|
@end
|
||||||
// @end
|
|
||||||
|
|
||||||
// iOS16 fix
|
// iOS16 fix
|
||||||
@interface OBPrivacyLinkButton : UIButton
|
@interface OBPrivacyLinkButton : UIButton
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ uYouPlus_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uY
|
|||||||
uYouPlus_FILES = uYouPlus.xm Settings.xm
|
uYouPlus_FILES = uYouPlus.xm Settings.xm
|
||||||
uYouPlus_IPA = ./tmp/Payload/YouTube.app
|
uYouPlus_IPA = ./tmp/Payload/YouTube.app
|
||||||
uYouPlus_FRAMEWORKS = UIKit
|
uYouPlus_FRAMEWORKS = UIKit
|
||||||
|
uYouPlus_CFLAGS = -fobjc-arc
|
||||||
|
|
||||||
include $(THEOS)/makefiles/common.mk
|
include $(THEOS)/makefiles/common.mk
|
||||||
include $(THEOS_MAKE_PATH)/tweak.mk
|
include $(THEOS_MAKE_PATH)/tweak.mk
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
- [HASHBANG Productions](https://github.com/hbang) for [Alderis Color Picker](https://github.com/hbang/Alderis) - a dependency of iSponsorBlock.
|
- [HASHBANG Productions](https://github.com/hbang) for [Alderis Color Picker](https://github.com/hbang/Alderis) - a dependency of iSponsorBlock.
|
||||||
|
|
||||||
- [PoomSmart](https://twitter.com/poomsmart) - the developer of many tweaks used by uYouPlus, include: [NoYTPremium](https://github.com/PoomSmart/NoYTPremium/), [YouRememberCaption](https://www.ios-repo-updates.com/repository/poomsmart/package/com.ps.youremembercaption/), [YTClassicVideoQuality](https://poomsmart.github.io/repo/depictions/ytclassicvideoquality.html), [YTNoCheckLocalNetwork](https://poomsmart.github.io/repo/depictions/ytnochecklocalnetwork.html), [YTSystemAppearance](https://poomsmart.github.io/repo/depictions/ytsystemappearance.html), [YTAutoFullScreen](https://github.com/PoomSmart/YTAutoFullScreen/), [YTReExplore](https://github.com/PoomSmart/YTReExplore/), [IAmYouTube](https://github.com/PoomSmart/IAmYouTube), [YTUHD](https://poomsmart.github.io/repo/depictions/ytuhd.html), [YouPiP](https://poomsmart.github.io/repo/depictions/youpip.html), and [Return YouTube Dislike](https://github.com/PoomSmart/Return-YouTube-Dislikes)
|
- [PoomSmart](https://twitter.com/poomsmart) - the developer of many tweaks used by uYouPlus, see [Version info - Download](#download) for more details.
|
||||||
|
|
||||||
- [level3tjg](https://twitter.com/level3tjg) - for [YTNoHoverCards](https://github.com/level3tjg/YTNoHoverCards) and [YTMiniplayerEnabler](https://github.com/level3tjg/YTMiniplayerEnabler).
|
- [level3tjg](https://twitter.com/level3tjg) - for [YTNoHoverCards](https://github.com/level3tjg/YTNoHoverCards) and [YTMiniplayerEnabler](https://github.com/level3tjg/YTMiniplayerEnabler).
|
||||||
|
|
||||||
@@ -76,36 +76,37 @@
|
|||||||
|
|
||||||
- My official AtlStore repo: https://qnblackcat.github.io/AltStore/
|
- My official AtlStore repo: https://qnblackcat.github.io/AltStore/
|
||||||
|
|
||||||
- [Open in AltStore (v17.25.1-2.1)](https://tinyurl.com/2kaynk88) - It will take a while to install because AltStore needs to download the IPA.
|
- [Open in AltStore (v17.26.2-2.1)](https://tinyurl.com/2y86dh6b) - It will take a while to install because AltStore needs to download the IPA.
|
||||||
|
|
||||||
- Version info: _(last update: June 29)_
|
- Version info: _(last update: Jul 11)_
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Expand</summary>
|
<summary>Expand</summary>
|
||||||
|
|
||||||
| **Tweaks/App** | **Version** | **Open source** |
|
| **Tweaks/App** | **Developer** | **Version** | **Open source** |
|
||||||
| :------------: | :----------:| :-------------: |
|
| - | - | :-: | :-: |
|
||||||
| **YouTube** | 17.25.1 | ✖︎ |
|
| **YouTube** | Google Inc | 17.26.2 | ✖︎ |
|
||||||
| [uYou](https://github.com/MiRO92/uYou-for-YouTube) | 2.1 | ✖︎ |
|
| [uYou](https://github.com/MiRO92/uYou-for-YouTube) | [MiRO92](https://twitter.com/miro92) | 2.1 | ✖︎ |
|
||||||
| [Open in YouTube](https://github.com/CokePokes/YoutubeExtensions) | 1.2 | ✖︎ |
|
| [Open in YouTube](https://github.com/CokePokes/YoutubeExtensions) | [CokePokes](https://github.com/CokePokes) | 1.2 | ✖︎ |
|
||||||
| **Return YouTube Dislike** | 1.6.5 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
|
| **iSponsorBlock** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.0-14 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
|
||||||
| **iSponsorBlock** | 1.0-14 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
|
| **BigYTMiniPlayer** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.0-1 | [✔︎](https://github.com/Galactic-Dev/BigYTMiniPlayer) |
|
||||||
| **Alderis Color Picker** | 1.2| [✔︎](https://github.com/hbang/Alderis) |
|
| **YTNoHoverCards** | [level3tjg](https://twitter.com/level3tjg) | 0.0.3 | [✔︎](https://github.com/level3tjg/YTNoHoverCards) |
|
||||||
| **NoYTPremium** | 1.0.4 | [✔︎](https://github.com/PoomSmart/NoYTPremium) |
|
| **YTMiniplayerEnabler** | [level3tjg](https://twitter.com/level3tjg) | 0.0.2 | [✔︎](https://github.com/level3tjg/YTMiniplayerEnabler) |
|
||||||
| **YouRememberCaption** | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/youremembercaption.html) |
|
| **YTSpeed** | [Lyvendia](https://github.com/Lyvendia) | 1.0.1 | [✔︎](https://github.com/Lyvendia/YTSpeed) |
|
||||||
| **YTClassicVideoQuality** | 1.0.1 | [✔︎](https://github.com/PoomSmart/YTClassicVideoQuality) |
|
| **YTCastConfirm** | [JamieBerghmans](https://github.com/JamieBerghmans) | 1.0.0 | [✔︎](https://github.com/JamieBerghmans/YTCastConfirm) |
|
||||||
| **YTNoCheckLocalNetwork** | 1.0.2 | [✔︎](https://poomsmart.github.io/repo/depictions/ytnochecklocalnetwork.html) |
|
| **Alderis Color Picker** | [HASHBANG Productions](https://github.com/hbang) | 1.2| [✔︎](https://github.com/hbang/Alderis) |
|
||||||
| **YTNoHoverCards** | 0.0.3 | [✔︎](https://github.com/level3tjg/YTNoHoverCards) |
|
| **YTUHD** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.8 | [✔︎](https://github.com/PoomSmart/YTUHD) |
|
||||||
| **YTSystemAppearance** | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/ytsystemappearance.html) |
|
| **YouPiP** | [PoomSmart](https://twitter.com/poomsmart) | 1.7.7 | [✔︎](https://github.com/PoomSmart/YouPiP) |
|
||||||
| **YTUHD** | 1.2.8 | [✔︎](https://github.com/PoomSmart/YTUHD) |
|
| **IAmYouTube** | [PoomSmart](https://twitter.com/poomsmart) | 1.2.0 | [✔︎](https://github.com/PoomSmart/IAmYouTube) |
|
||||||
| **YouPiP** | 1.7.7 | [✔︎](https://github.com/PoomSmart/YouPiP) |
|
| **YTReExplore** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.2 | [✔︎](https://github.com/PoomSmart/YTReExplore) |
|
||||||
| **IAmYouTube** | 1.2.0 | [✔︎](https://github.com/PoomSmart/IAmYouTube) |
|
| **NoYTPremium** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.4 | [✔︎](https://github.com/PoomSmart/NoYTPremium) |
|
||||||
| **YTSpeed** | 1.0.1 | [✔︎](https://github.com/Lyvendia/YTSpeed) |
|
| **YTNoPaidPromo** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://github.com/PoomSmart/YTNoPaidPromo) |
|
||||||
| **YTAutoFullScreen** | 1.0.3 | [✔︎](https://github.com/PoomSmart/YTAutoFullScreen) |
|
| **YTAutoFullScreen** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.3 | [✔︎](https://github.com/PoomSmart/YTAutoFullScreen) |
|
||||||
| **YTReExplore** | 1.0.2 | [✔︎](https://github.com/PoomSmart/YTReExplore) |
|
| **YouRememberCaption** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/youremembercaption.html) |
|
||||||
| **BigYTMiniPlayer** | 1.0-1 | [✔︎](https://github.com/Galactic-Dev/BigYTMiniPlayer) |
|
| **YTSystemAppearance** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.0 | [✔︎](https://poomsmart.github.io/repo/depictions/ytsystemappearance.html) |
|
||||||
| **YTCastConfirm** | 1.0.0 | [✔︎](https://github.com/JamieBerghmans/YTCastConfirm) |
|
| **YTClassicVideoQuality** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.1 | [✔︎](https://github.com/PoomSmart/YTClassicVideoQuality) |
|
||||||
| **YTMiniplayerEnabler** | 0.0.2 | [✔︎](https://github.com/level3tjg/YTMiniplayerEnabler) |
|
| **Return YouTube Dislike** | [PoomSmart](https://twitter.com/poomsmart) | 1.6.5 | [✔︎](https://github.com/PoomSmart/Return-YouTube-Dislikes) |
|
||||||
|
| **YTNoCheckLocalNetwork** | [PoomSmart](https://twitter.com/poomsmart) | 1.0.2 | [✔︎](https://poomsmart.github.io/repo/depictions/ytnochecklocalnetwork.html) |
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
|||||||
+11
-1
@@ -22,6 +22,7 @@ extern BOOL hideAutoplaySwitch();
|
|||||||
extern BOOL castConfirm();
|
extern BOOL castConfirm();
|
||||||
extern BOOL ytMiniPlayer();
|
extern BOOL ytMiniPlayer();
|
||||||
extern BOOL hidePreviousAndNextButton();
|
extern BOOL hidePreviousAndNextButton();
|
||||||
|
extern BOOL hidePaidPromotionCard();
|
||||||
|
|
||||||
// Settings
|
// Settings
|
||||||
%hook YTAppSettingsPresentationData
|
%hook YTAppSettingsPresentationData
|
||||||
@@ -41,6 +42,15 @@ extern BOOL hidePreviousAndNextButton();
|
|||||||
YTSettingsViewController *delegate = [self valueForKey:@"_dataDelegate"];
|
YTSettingsViewController *delegate = [self valueForKey:@"_dataDelegate"];
|
||||||
NSBundle *tweakBundle = uYouPlusBundle();
|
NSBundle *tweakBundle = uYouPlusBundle();
|
||||||
|
|
||||||
|
YTSettingsSectionItem *hidePaidPromotionCard = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"HIDE_PAID_PROMOTION_CARDS") titleDescription:LOC(@"HIDE_PAID_PROMOTION_CARDS_DESC")];
|
||||||
|
hidePaidPromotionCard.hasSwitch = YES;
|
||||||
|
hidePaidPromotionCard.switchVisible = YES;
|
||||||
|
hidePaidPromotionCard.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"hidePaidPromotionCard_enabled"];
|
||||||
|
hidePaidPromotionCard.switchBlock = ^BOOL (YTSettingsCell *cell, BOOL enabled) {
|
||||||
|
[[NSUserDefaults standardUserDefaults] setBool:enabled forKey:@"hidePaidPromotionCard_enabled"];
|
||||||
|
return YES;
|
||||||
|
};
|
||||||
|
|
||||||
YTSettingsSectionItem *hidePreviousAndNextButton = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"HIDE_PREVIOUS_AND_NEXT_BUTTON") titleDescription:LOC(@"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC")];
|
YTSettingsSectionItem *hidePreviousAndNextButton = [[%c(YTSettingsSectionItem) alloc] initWithTitle:LOC(@"HIDE_PREVIOUS_AND_NEXT_BUTTON") titleDescription:LOC(@"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC")];
|
||||||
hidePreviousAndNextButton.hasSwitch = YES;
|
hidePreviousAndNextButton.hasSwitch = YES;
|
||||||
hidePreviousAndNextButton.switchVisible = YES;
|
hidePreviousAndNextButton.switchVisible = YES;
|
||||||
@@ -149,7 +159,7 @@ extern BOOL hidePreviousAndNextButton();
|
|||||||
return YES;
|
return YES;
|
||||||
};
|
};
|
||||||
|
|
||||||
NSMutableArray <YTSettingsSectionItem *> *sectionItems = [NSMutableArray arrayWithArray:@[autoFull, castConfirm, ytMiniPlayer, hideAutoplaySwitch, hideCC, hideHUD, hidePreviousAndNextButton, hideHoverCard, bigYTMiniPlayer, oledDarkMode, oledKeyBoard, reExplore]];
|
NSMutableArray <YTSettingsSectionItem *> *sectionItems = [NSMutableArray arrayWithArray:@[autoFull, castConfirm, ytMiniPlayer, hideAutoplaySwitch, hideCC, hideHUD, hidePaidPromotionCard, hidePreviousAndNextButton, hideHoverCard, bigYTMiniPlayer, oledDarkMode, oledKeyBoard, reExplore]];
|
||||||
[delegate setSectionItems:sectionItems forCategory:uYouPlusSection title:@"uYouPlus" titleDescription:nil headerHidden:NO];
|
[delegate setSectionItems:sectionItems forCategory:uYouPlusSection title:@"uYouPlus" titleDescription:nil headerHidden:NO];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
Submodule Tweaks/YouTubeHeader updated: b26342f9e8...c34699b33c
@@ -36,6 +36,9 @@
|
|||||||
"OLED_KEYBOARD" = "OLED Keyboard (Experimental)";
|
"OLED_KEYBOARD" = "OLED Keyboard (Experimental)";
|
||||||
"OLED_KEYBOARD_DESC" = "Might not working correctly in some cases. App restart is required.";
|
"OLED_KEYBOARD_DESC" = "Might not working correctly in some cases. App restart is required.";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "Hide Paid Promotion banner";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Hide the 'Includes Paid Promotions' banner in some videos.";
|
||||||
|
|
||||||
// YTCastConfirm
|
// YTCastConfirm
|
||||||
"CASTING" = "Castings";
|
"CASTING" = "Castings";
|
||||||
"MSG_ARE_YOU_SURE" = "Are you sure you want to start casting?";
|
"MSG_ARE_YOU_SURE" = "Are you sure you want to start casting?";
|
||||||
|
|||||||
@@ -1,53 +1,58 @@
|
|||||||
// How to translate uYouPlus to your languate:
|
// How to translate uYouPlus to your languate:
|
||||||
//
|
//
|
||||||
// 1. Fork uYouPlus repo
|
// 1. Fork uYouPlus repo
|
||||||
// 2. Duplicate the template.lproj folder, and edit the duplicated folder's name to your <lang_code>.lproj id. For example: ru.lproj
|
// 2. Duplicate the template.lproj folder, and edit the duplicated folder's name to your <lang_code>.lproj id.
|
||||||
// for Russia. For more details, visit: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
|
// For example: <ru.lproj> for Russia. For more details, visit: https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
|
||||||
// 3. Translate each line below after each =
|
// 3. Translate each line below after each =
|
||||||
// 4. Open a Pull Request
|
// 4. Open a Pull Request
|
||||||
//
|
//
|
||||||
// If your language already exists then feel free to check it and/or improve it!
|
// If your language already exists then feel free to check it and/or improve it!
|
||||||
//
|
// You can also add your localiztion to YouPiP here, the process is the same
|
||||||
// Settings
|
// https://github.com/PoomSmart/YouPiP/tree/main/layout/Library/Application%20Support/YouPiP.bundle
|
||||||
|
//
|
||||||
|
// Settings
|
||||||
|
|
||||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Hide Previous and Next button";
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON" = "Hide Previous and Next button";
|
||||||
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Hide Previous and Next button in video controls overlay.";
|
"HIDE_PREVIOUS_AND_NEXT_BUTTON_DESC" = "Hide Previous and Next button in video controls overlay.";
|
||||||
|
|
||||||
"YT_MINIPLAYER" = "Enable the Miniplayer for all YouTube videos";
|
"YT_MINIPLAYER" = "Enable the Miniplayer for all YouTube videos";
|
||||||
"YT_MINIPLAYER_DESC" = "Kid videos for example.";
|
"YT_MINIPLAYER_DESC" = "Kid videos for example.";
|
||||||
|
|
||||||
"CAST_CONFIRM" = "Confirm alert before casting (YTCastConfirm)";
|
"CAST_CONFIRM" = "Confirm alert before casting (YTCastConfirm)";
|
||||||
"CAST_CONFIRM_DESC" = "Show a confirm alert before casting to prevent accidentally hijacking TV.";
|
"CAST_CONFIRM_DESC" = "Show a confirm alert before casting to prevent accidentally hijacking TV.";
|
||||||
|
|
||||||
"HIDE_HOVER_CARD" = "Hide End screens hover cards (YTNoHoverCards)";
|
"HIDE_HOVER_CARD" = "Hide End screens hover cards (YTNoHoverCards)";
|
||||||
"HIDE_HOVER_CARD_DESC" = "Hide creator End screens (thumbnails) at the end of videos.";
|
"HIDE_HOVER_CARD_DESC" = "Hide creator End screens (thumbnails) at the end of videos.";
|
||||||
|
|
||||||
"NEW_MINIPLAYER_STYLE" = "New miniplayer bar style (BigYTMiniPlayer)";
|
"NEW_MINIPLAYER_STYLE" = "New miniplayer bar style (BigYTMiniPlayer)";
|
||||||
"NEW_MINIPLAYER_STYLE_DESC" = "App restart is required.";
|
"NEW_MINIPLAYER_STYLE_DESC" = "App restart is required.";
|
||||||
|
|
||||||
"YT_RE_EXPLORE" = "Replace Shorts tab with Explore tab (YTReExplore)";
|
"YT_RE_EXPLORE" = "Replace Shorts tab with Explore tab (YTReExplore)";
|
||||||
"YT_RE_EXPLORE_DESC" = "App restart is required.";
|
"YT_RE_EXPLORE_DESC" = "App restart is required.";
|
||||||
|
|
||||||
"HIDE_SUBTITLES_BUTTON" = "Hide Subtitles button";
|
"HIDE_SUBTITLES_BUTTON" = "Hide Subtitles button";
|
||||||
"HIDE_SUBTITLES_BUTTON_DESC" = "Hide the Subtitles button in video controls overlay.";
|
"HIDE_SUBTITLES_BUTTON_DESC" = "Hide the Subtitles button in video controls overlay.";
|
||||||
|
|
||||||
"HIDE_AUTOPLAY_SWITCH" = "Hide Autoplay switch";
|
"HIDE_AUTOPLAY_SWITCH" = "Hide Autoplay switch";
|
||||||
"HIDE_AUTOPLAY_SWITCH_DESC" = "Hide the Autoplay switch in video controls overlay.";
|
"HIDE_AUTOPLAY_SWITCH_DESC" = "Hide the Autoplay switch in video controls overlay.";
|
||||||
|
|
||||||
"AUTO_FULLSCREEN" = "Auto Full Screen (YTAutoFullScreen)";
|
"AUTO_FULLSCREEN" = "Auto Full Screen (YTAutoFullScreen)";
|
||||||
"AUTO_FULLSCREEN_DESC" = "Autoplay videos at full screen.";
|
"AUTO_FULLSCREEN_DESC" = "Autoplay videos at full screen.";
|
||||||
|
|
||||||
"HIDE_HUD_MESSAGES" = "Hide HUD Messages";
|
"HIDE_HUD_MESSAGES" = "Hide HUD Messages";
|
||||||
"HIDE_HUD_MESSAGES_DESC" = "Example: CC is turned on/off, Video loop is on,...";
|
"HIDE_HUD_MESSAGES_DESC" = "Example: CC is turned on/off, Video loop is on,...";
|
||||||
|
|
||||||
"OLED_DARKMODE" = "OLED Dark mode (Experimental)";
|
"OLED_DARKMODE" = "OLED Dark mode (Experimental)";
|
||||||
"OLED_DARKMODE_DESC" = "Might not working correctly in some cases. App restart is required after you enable/disable this option.";
|
"OLED_DARKMODE_DESC" = "Might not working correctly in some cases. App restart is required after you enable/disable this option.";
|
||||||
|
|
||||||
"OLED_KEYBOARD" = "OLED Keyboard (Experimental)";
|
"OLED_KEYBOARD" = "OLED Keyboard (Experimental)";
|
||||||
"OLED_KEYBOARD_DESC" = "Might not working correctly in some cases. App restart is required.";
|
"OLED_KEYBOARD_DESC" = "Might not working correctly in some cases. App restart is required.";
|
||||||
|
|
||||||
// YTCastConfirm
|
"HIDE_PAID_PROMOTION_CARDS" = "Hide Paid Promotion banner";
|
||||||
"CASTING" = "Castings";
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Hide the 'Includes Paid Promotions' banner in some videos.";
|
||||||
"MSG_ARE_YOU_SURE" = "Are you sure you want to start casting?";
|
|
||||||
"MSG_YES" = "Yes";
|
// YTCastConfirm
|
||||||
"MSG_CANCEL" = "Cancel";
|
"CASTING" = "Castings";
|
||||||
|
"MSG_ARE_YOU_SURE" = "Are you sure you want to start casting?";
|
||||||
|
"MSG_YES" = "Yes";
|
||||||
|
"MSG_CANCEL" = "Cancel";
|
||||||
@@ -36,6 +36,9 @@
|
|||||||
"OLED_KEYBOARD" = "Bàn phím OLED (Thử nghiệm)";
|
"OLED_KEYBOARD" = "Bàn phím OLED (Thử nghiệm)";
|
||||||
"OLED_KEYBOARD_DESC" = "Tính năng này có thể không hoạt động tốt trong một vài trường hợp. Cần khởi động lại ứng dụng.";
|
"OLED_KEYBOARD_DESC" = "Tính năng này có thể không hoạt động tốt trong một vài trường hợp. Cần khởi động lại ứng dụng.";
|
||||||
|
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS" = "Ẩn popup quảng cáo được trả tiền";
|
||||||
|
"HIDE_PAID_PROMOTION_CARDS_DESC" = "Ẩn popup 'Chứa nội dung được trả tiền để quảng cáo' trong một số video.";
|
||||||
|
|
||||||
// YTCastConfirm
|
// YTCastConfirm
|
||||||
"CASTING" = "Truyền video";
|
"CASTING" = "Truyền video";
|
||||||
"MSG_ARE_YOU_SURE" = "Bạn có muốn bắt đầu truyền video không?";
|
"MSG_ARE_YOU_SURE" = "Bạn có muốn bắt đầu truyền video không?";
|
||||||
|
|||||||
+45
-20
@@ -13,6 +13,8 @@
|
|||||||
#import "Tweaks/YouTubeHeader/YTIBrowseRequest.h"
|
#import "Tweaks/YouTubeHeader/YTIBrowseRequest.h"
|
||||||
#import "Tweaks/YouTubeHeader/YTCommonColorPalette.h"
|
#import "Tweaks/YouTubeHeader/YTCommonColorPalette.h"
|
||||||
#import "Tweaks/YouTubeHeader/ASCollectionView.h"
|
#import "Tweaks/YouTubeHeader/ASCollectionView.h"
|
||||||
|
#import "Tweaks/YouTubeHeader/YTPlayerOverlay.h"
|
||||||
|
#import "Tweaks/YouTubeHeader/YTPlayerOverlayProvider.h"
|
||||||
|
|
||||||
// Tweak's bundle for Localizations support - @PoomSmart - https://github.com/PoomSmart/YouPiP/commit/aea2473f64c75d73cab713e1e2d5d0a77675024f
|
// Tweak's bundle for Localizations support - @PoomSmart - https://github.com/PoomSmart/YouPiP/commit/aea2473f64c75d73cab713e1e2d5d0a77675024f
|
||||||
NSBundle *uYouPlusBundle() {
|
NSBundle *uYouPlusBundle() {
|
||||||
@@ -66,6 +68,9 @@ BOOL castConfirm() {
|
|||||||
BOOL ytMiniPlayer() {
|
BOOL ytMiniPlayer() {
|
||||||
return [[NSUserDefaults standardUserDefaults] boolForKey:@"ytMiniPlayer_enabled"];
|
return [[NSUserDefaults standardUserDefaults] boolForKey:@"ytMiniPlayer_enabled"];
|
||||||
}
|
}
|
||||||
|
BOOL hidePaidPromotionCard(){
|
||||||
|
return [[NSUserDefaults standardUserDefaults] boolForKey:@"hidePaidPromotionCard_enabled"];
|
||||||
|
}
|
||||||
|
|
||||||
# pragma mark - Tweaks
|
# pragma mark - Tweaks
|
||||||
// YTMiniPlayerEnabler: https://github.com/level3tjg/YTMiniplayerEnabler/
|
// YTMiniPlayerEnabler: https://github.com/level3tjg/YTMiniplayerEnabler/
|
||||||
@@ -233,22 +238,10 @@ BOOL ytMiniPlayer() {
|
|||||||
%end
|
%end
|
||||||
|
|
||||||
// Enable Shorts scroll bar - @level3tjg - https://reddit.com/r/jailbreak/comments/v29yvk/_/iasl1l0/
|
// Enable Shorts scroll bar - @level3tjg - https://reddit.com/r/jailbreak/comments/v29yvk/_/iasl1l0/
|
||||||
%hook YTReelPlayerViewControllerSub
|
|
||||||
- (BOOL)shouldEnablePlayerBar { return YES; }
|
|
||||||
%end
|
|
||||||
|
|
||||||
%hook YTReelPlayerViewController
|
%hook YTReelPlayerViewController
|
||||||
- (BOOL)shouldEnablePlayerBar { return YES; }
|
- (BOOL)shouldEnablePlayerBar { return YES; }
|
||||||
%end
|
%end
|
||||||
|
|
||||||
// Hide the download playlist button of uYou cuz it's broken ?!
|
|
||||||
// %hook YTPlaylistHeaderViewController
|
|
||||||
// - (void)viewDidLoad {
|
|
||||||
// %orig;
|
|
||||||
// self.downloadsButton.hidden = YES;
|
|
||||||
// }
|
|
||||||
// %end
|
|
||||||
|
|
||||||
// Workaround for issue #54
|
// Workaround for issue #54
|
||||||
%hook YTMainAppVideoPlayerOverlayViewController
|
%hook YTMainAppVideoPlayerOverlayViewController
|
||||||
- (void)updateRelatedVideos {
|
- (void)updateRelatedVideos {
|
||||||
@@ -277,6 +270,37 @@ BOOL ytMiniPlayer() {
|
|||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
// uYou's slide settings?
|
||||||
|
%hook FRPSliderCell
|
||||||
|
- (void)didMoveToWindow {
|
||||||
|
%orig;
|
||||||
|
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
|
||||||
|
MSHookIvar<UILabel *>(self, "_lLabel").textColor = [UIColor whiteColor];
|
||||||
|
MSHookIvar<UILabel *>(self, "_rLabel").textColor = [UIColor whiteColor];
|
||||||
|
MSHookIvar<UILabel *>(self, "_cLabel").textColor = [UIColor whiteColor];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
// YTNoPaidPromo: https://github.com/PoomSmart/YTNoPaidPromo
|
||||||
|
%hook YTMainAppVideoPlayerOverlayViewController
|
||||||
|
- (void)setPaidContentWithPlayerData:(id)data {
|
||||||
|
if (hidePaidPromotionCard()) {}
|
||||||
|
else { return %orig; }
|
||||||
|
}
|
||||||
|
- (void)playerOverlayProvider:(YTPlayerOverlayProvider *)provider didInsertPlayerOverlay:(YTPlayerOverlay *)overlay {
|
||||||
|
if ([[overlay overlayIdentifier] isEqualToString:@"player_overlay_paid_content"] && hidePaidPromotionCard()) return;
|
||||||
|
%orig;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook YTInlineMutedPlaybackPlayerOverlayViewController
|
||||||
|
- (void)setPaidContentWithPlayerData:(id)data {
|
||||||
|
if (hidePaidPromotionCard()) {}
|
||||||
|
else { return %orig; }
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
# pragma mark - IAmYouTube - https://github.com/PoomSmart/IAmYouTube/
|
# pragma mark - IAmYouTube - https://github.com/PoomSmart/IAmYouTube/
|
||||||
%hook YTVersionUtils
|
%hook YTVersionUtils
|
||||||
+ (NSString *)appName { return YT_NAME; }
|
+ (NSString *)appName { return YT_NAME; }
|
||||||
@@ -333,6 +357,7 @@ BOOL ytMiniPlayer() {
|
|||||||
%end
|
%end
|
||||||
|
|
||||||
# pragma mark - OLED dark mode by BandarHL
|
# pragma mark - OLED dark mode by BandarHL
|
||||||
|
UIColor* raisedColor = [UIColor colorWithRed:0.035 green:0.035 blue:0.035 alpha:1.0];
|
||||||
%group gOLED
|
%group gOLED
|
||||||
%hook YTCommonColorPalette
|
%hook YTCommonColorPalette
|
||||||
- (UIColor *)brandBackgroundSolid {
|
- (UIColor *)brandBackgroundSolid {
|
||||||
@@ -349,13 +374,13 @@ BOOL ytMiniPlayer() {
|
|||||||
}
|
}
|
||||||
- (UIColor *)brandBackgroundSecondary {
|
- (UIColor *)brandBackgroundSecondary {
|
||||||
if (self.pageStyle == 1) {
|
if (self.pageStyle == 1) {
|
||||||
return [[UIColor blackColor] colorWithAlphaComponent:0.88];
|
return [[UIColor blackColor] colorWithAlphaComponent:0.9];
|
||||||
}
|
}
|
||||||
return %orig;
|
return %orig;
|
||||||
}
|
}
|
||||||
- (UIColor *)raisedBackground {
|
- (UIColor *)raisedBackground {
|
||||||
if (self.pageStyle == 1) {
|
if (self.pageStyle == 1) {
|
||||||
return [UIColor blackColor];
|
return raisedColor;
|
||||||
}
|
}
|
||||||
return %orig;
|
return %orig;
|
||||||
}
|
}
|
||||||
@@ -518,11 +543,11 @@ BOOL ytMiniPlayer() {
|
|||||||
- (void)didMoveToWindow {
|
- (void)didMoveToWindow {
|
||||||
%orig;
|
%orig;
|
||||||
if (isDarkMode()) {
|
if (isDarkMode()) {
|
||||||
if ([self.nextResponder isKindOfClass:%c(ASScrollView)]) { self.backgroundColor = [UIColor clearColor]; }
|
if ([self.nextResponder isKindOfClass:%c(ASScrollView)]) { self.backgroundColor = raisedColor; }
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"eml.cvr"]) { self.backgroundColor = [UIColor blackColor]; }
|
if ([self.accessibilityIdentifier isEqualToString:@"eml.cvr"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"rich_header"]) { 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 blackColor]; }
|
if ([self.accessibilityIdentifier isEqualToString:@"id.ui.cancel.button"]) { self.superview.backgroundColor = raisedColor; }
|
||||||
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.filter_chip_bar"]) { self.backgroundColor = [UIColor blackColor]; }
|
if ([self.accessibilityIdentifier isEqualToString:@"id.elements.components.filter_chip_bar"]) { self.backgroundColor = [UIColor blackColor]; }
|
||||||
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]; }
|
||||||
@@ -537,7 +562,7 @@ BOOL ytMiniPlayer() {
|
|||||||
%hook ASWAppSwitchingSheetHeaderView
|
%hook ASWAppSwitchingSheetHeaderView
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
- (void)setBackgroundColor:(UIColor *)color {
|
||||||
if (isDarkMode()) {
|
if (isDarkMode()) {
|
||||||
return %orig([UIColor blackColor]);
|
return %orig(raisedColor);
|
||||||
}
|
}
|
||||||
return %orig;
|
return %orig;
|
||||||
}
|
}
|
||||||
@@ -546,7 +571,7 @@ BOOL ytMiniPlayer() {
|
|||||||
%hook ASWAppSwitchingSheetFooterView
|
%hook ASWAppSwitchingSheetFooterView
|
||||||
- (void)setBackgroundColor:(UIColor *)color {
|
- (void)setBackgroundColor:(UIColor *)color {
|
||||||
if (isDarkMode()) {
|
if (isDarkMode()) {
|
||||||
return %orig([UIColor blackColor]);
|
return %orig(raisedColor);
|
||||||
}
|
}
|
||||||
return %orig;
|
return %orig;
|
||||||
}
|
}
|
||||||
@@ -556,8 +581,8 @@ BOOL ytMiniPlayer() {
|
|||||||
- (void)didMoveToWindow {
|
- (void)didMoveToWindow {
|
||||||
%orig;
|
%orig;
|
||||||
if (isDarkMode()) {
|
if (isDarkMode()) {
|
||||||
self.subviews[1].backgroundColor = [UIColor blackColor];
|
self.subviews[1].backgroundColor = raisedColor;
|
||||||
self.superview.backgroundColor = [UIColor blackColor];
|
self.superview.backgroundColor = raisedColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%end
|
%end
|
||||||
|
|||||||
Reference in New Issue
Block a user