Skip to content

Commit

Permalink
Redesign RootOptionsController.m
Browse files Browse the repository at this point in the history
Made it so it’ll have better maintainability.
  • Loading branch information
aricloverALT authored Nov 21, 2024
1 parent 7b1a1a7 commit fa2847d
Showing 1 changed file with 60 additions and 59 deletions.
119 changes: 60 additions & 59 deletions Sources/RootOptionsController.m
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

@interface RootOptionsController ()

- (UIImage *)resizeImage:(UIImage *)image newSize:(CGSize)newSize;
@property (strong, nonatomic) UIButton *backButton;
@property (assign, nonatomic) UIUserInterfaceStyle pageStyle;

Expand All @@ -18,6 +17,11 @@ - (void)viewDidLoad {
self.title = @"uYouEnhanced Extras Menu";
[self.navigationController.navigationBar setTitleTextAttributes:@{NSFontAttributeName: [UIFont fontWithName:@"YTSans-Bold" size:22], NSForegroundColorAttributeName: [UIColor whiteColor]}];

[self setupBackButton];
[self setupTableView];
}

- (void)setupBackButton {
self.backButton = [UIButton buttonWithType:UIButtonTypeCustom];
NSBundle *backIcon = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"uYouPlus" ofType:@"bundle"]];
UIImage *backImage = [UIImage imageNamed:@"Back.png" inBundle:backIcon compatibleWithTraitCollection:nil];
Expand All @@ -29,25 +33,21 @@ - (void)viewDidLoad {
[self.backButton setFrame:CGRectMake(0, 0, 24, 24)];
UIBarButtonItem *customBackButton = [[UIBarButtonItem alloc] initWithCustomView:self.backButton];
self.navigationItem.leftBarButtonItem = customBackButton;
}

UITableViewStyle style;
if (@available(iOS 13, *)) {
style = UITableViewStyleInsetGrouped;
} else {
style = UITableViewStyleGrouped;
}

- (void)setupTableView {
UITableViewStyle style = UITableViewStyleInsetGrouped;
self.tableView = [[UITableView alloc] initWithFrame:CGRectZero style:style];
self.tableView.translatesAutoresizingMaskIntoConstraints = NO;
self.tableView.dataSource = self;
self.tableView.delegate = self;
[self.view addSubview:self.tableView];

[NSLayoutConstraint activateConstraints:@[
[self.tableView.centerXAnchor constraintEqualToAnchor:self.view.centerXAnchor],
[self.tableView.centerYAnchor constraintEqualToAnchor:self.view.centerYAnchor],
[self.tableView.widthAnchor constraintEqualToAnchor:self.view.widthAnchor],
[self.tableView.heightAnchor constraintEqualToAnchor:self.view.heightAnchor]
[self.tableView.leadingAnchor constraintEqualToAnchor:self.view.leadingAnchor],
[self.tableView.trailingAnchor constraintEqualToAnchor:self.view.trailingAnchor],
[self.tableView.topAnchor constraintEqualToAnchor:self.view.topAnchor],
[self.tableView.bottomAnchor constraintEqualToAnchor:self.view.bottomAnchor]
]];
}

Expand All @@ -64,69 +64,70 @@ - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (section == 0) {
return 2;
}
if (section == 1) {
return 1;
}
return 0;
return (section == 0) ? 2 : 1;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"RootTableViewCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];
cell.textLabel.adjustsFontSizeToFitWidth = YES;
cell.detailTextLabel.adjustsFontSizeToFitWidth = YES;
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleLight) {
cell.backgroundColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0];
cell.textLabel.textColor = [UIColor blackColor];
cell.detailTextLabel.textColor = [UIColor blackColor];
} else {
cell.backgroundColor = [UIColor colorWithRed:0.110 green:0.110 blue:0.118 alpha:1.0];
cell.textLabel.textColor = [UIColor whiteColor];
cell.textLabel.shadowColor = [UIColor blackColor];
cell.textLabel.shadowOffset = CGSizeMake(1.0, 1.0);
cell.detailTextLabel.textColor = [UIColor whiteColor];
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
[self configureCell:cell atIndexPath:indexPath];
}
return cell;
}

- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath {
cell.textLabel.adjustsFontSizeToFitWidth = YES;
cell.detailTextLabel.adjustsFontSizeToFitWidth = YES;

if (indexPath.section == 0) {
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
if (indexPath.row == 0) {
cell.textLabel.text = @"Custom Theme Color";
cell.detailTextLabel.text = @"You must go to uYouEnhanced settings and then go to 'Dark Mode' and set it to 'Custom Dark Mode' for it to work.";
cell.imageView.image = [UIImage systemImageNamed:@"slider.horizontal.3"];
}
if (indexPath.section == 0) {
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
if (indexPath.row == 0) {
cell.textLabel.text = @"Custom Theme Color";
cell.imageView.image = [UIImage systemImageNamed:@"slider.horizontal.3"];
cell.imageView.tintColor = cell.textLabel.textColor;
}
if (indexPath.row == 1) {
cell.textLabel.text = @"Custom Tint Color";
cell.imageView.image = [UIImage systemImageNamed:@"drop.fill"];
cell.imageView.tintColor = cell.textLabel.textColor;
}
if (indexPath.row == 1) {
cell.textLabel.text = @"Custom Tint Color";
cell.detailTextLabel.text = @"You must go to uYouEnhanced settings and have LowContrastMode enabled and then go to 'LowContrastMode Selector' and set it to 'Custom' for it to work.";
cell.imageView.image = [UIImage systemImageNamed:@"drop.fill"];
}
if (indexPath.section == 1) {
if (indexPath.row == 0) {
cell.textLabel.text = @"Clear Cache";
UILabel *cache = [[UILabel alloc] init];
cache.text = [self getCacheSize];
cache.textColor = [UIColor secondaryLabelColor];
cache.font = [UIFont systemFontOfSize:16];
cache.textAlignment = NSTextAlignmentRight;
[cache sizeToFit];
cell.accessoryView = cache;
cell.imageView.image = [UIImage systemImageNamed:@"trash"];
cell.imageView.tintColor = cell.textLabel.textColor;
}
} else if (indexPath.section == 1) {
if (indexPath.row == 0) {
cell.textLabel.text = @"Clear Cache";
UILabel *cache = [[UILabel alloc] init];
cache.text = [self getCacheSize];
cache.textColor = [UIColor secondaryLabelColor];
cache.font = [UIFont systemFontOfSize:16];
cache.textAlignment = NSTextAlignmentRight;
[cache sizeToFit];
cell.accessoryView = cache;
cell.imageView.image = [UIImage systemImageNamed:@"trash"];
}
}
return cell;

[self applyColorSchemeForCell:cell];
}

- (void)applyColorSchemeForCell:(UITableViewCell *)cell {
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleLight) {
cell.backgroundColor = [UIColor whiteColor];
cell.textLabel.textColor = [UIColor blackColor];
cell.detailTextLabel.textColor = [UIColor blackColor];
} else {
cell.backgroundColor = [UIColor colorWithRed:0.110 green:0.110 blue:0.118 alpha:1.0];
cell.textLabel.textColor = [UIColor whiteColor];
cell.detailTextLabel.textColor = [UIColor whiteColor];
}
cell.imageView.tintColor = cell.textLabel.textColor;
}

- (NSString *)getCacheSize {
NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
NSArray *filesArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:cachePath error:nil];

unsigned long long int folderSize = 0;
for (NSString *fileName in filesArray) {
NSString *filePath = [cachePath stringByAppendingPathComponent:fileName];
Expand Down

0 comments on commit fa2847d

Please sign in to comment.