@@ -1481,6 +1481,40 @@ NSData *cellDividerData;
1481
1481
%end
1482
1482
%end
1483
1483
1484
+ %hook YTIPivotBarRenderer
1485
+ - (void )viewDidLoad {
1486
+ %orig ();
1487
+ NSArray *tabOrder = [[NSUserDefaults standardUserDefaults ] objectForKey: @" kTabOrder" ];
1488
+ if (tabOrder) {
1489
+ [self reorderTabsWithTabOrder: tabOrder];
1490
+ }
1491
+ }
1492
+ - (void )reorderTabsWithTabOrder:(NSArray <NSString *> *)tabOrder {
1493
+ NSDictionary *tabPositions = @{
1494
+ @" FEwhat_to_watch" : @(0 ), // Home
1495
+ @" FEshorts" : @(1 ), // Shorts
1496
+ @" FEuploads" : @(2 ), // Create
1497
+ @" FEsubscriptions" : @(3 ), // Subscriptions
1498
+ @" FElibrary" : @(4 ) // You
1499
+ };
1500
+ NSArray *sortedTabOrder = [tabOrder sortedArrayUsingComparator: ^NSComparisonResult (id obj1, id obj2) {
1501
+ NSNumber *position1 = tabPositions[obj1];
1502
+ NSNumber *position2 = tabPositions[obj2];
1503
+ return [position1 compare: position2];
1504
+ }];
1505
+ NSMutableArray *reorderedTabs = [NSMutableArray array ];
1506
+ for (NSString *tabIdentifier in sortedTabOrder) {
1507
+ for (YTIPivotBarItemRenderer *tabItem in self.itemsArray ) {
1508
+ if ([tabItem.pivotIdentifier isEqualToString: tabIdentifier]) {
1509
+ [reorderedTabs addObject: tabItem];
1510
+ break ;
1511
+ }
1512
+ }
1513
+ }
1514
+ self.itemsArray = reorderedTabs;
1515
+ }
1516
+ %end
1517
+
1484
1518
%group gDisableDoubleTapToSkip
1485
1519
%hook YTMainAppVideoPlayerOverlayViewController
1486
1520
- (BOOL )allowDoubleTapToSeekGestureRecognizer {
0 commit comments