mirror of
				https://github.com/SoPat712/YTLitePlus.git
				synced 2025-10-30 20:34:03 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
| //
 | |
| //  FLEXCookiesViewController.m
 | |
| //  FLEX
 | |
| //
 | |
| //  Created by Rich Robinson on 19/10/2015.
 | |
| //  Copyright © 2020 FLEX Team. All rights reserved.
 | |
| //
 | |
| 
 | |
| #import "FLEXCookiesViewController.h"
 | |
| #import "FLEXObjectExplorerFactory.h"
 | |
| #import "FLEXMutableListSection.h"
 | |
| #import "FLEXUtility.h"
 | |
| 
 | |
| @interface FLEXCookiesViewController ()
 | |
| @property (nonatomic, readonly) FLEXMutableListSection<NSHTTPCookie *> *cookies;
 | |
| @property (nonatomic) NSString *headerTitle;
 | |
| @end
 | |
| 
 | |
| @implementation FLEXCookiesViewController
 | |
| 
 | |
| #pragma mark - Overrides
 | |
| 
 | |
| - (void)viewDidLoad {
 | |
|     [super viewDidLoad];
 | |
| 
 | |
|     self.title = @"Cookies";
 | |
| }
 | |
| 
 | |
| - (NSArray<FLEXTableViewSection *> *)makeSections {
 | |
|     NSSortDescriptor *nameSortDescriptor = [[NSSortDescriptor alloc]
 | |
|         initWithKey:@"name" ascending:YES selector:@selector(caseInsensitiveCompare:)
 | |
|     ];
 | |
|     NSArray *cookies = [NSHTTPCookieStorage.sharedHTTPCookieStorage.cookies
 | |
|        sortedArrayUsingDescriptors:@[nameSortDescriptor]
 | |
|     ];
 | |
|     
 | |
|     _cookies = [FLEXMutableListSection list:cookies
 | |
|         cellConfiguration:^(UITableViewCell *cell, NSHTTPCookie *cookie, NSInteger row) {
 | |
|             cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
 | |
|             cell.textLabel.text = [cookie.name stringByAppendingFormat:@" (%@)", cookie.value];
 | |
|             cell.detailTextLabel.text = [cookie.domain stringByAppendingFormat:@" — %@", cookie.path];
 | |
|         } filterMatcher:^BOOL(NSString *filterText, NSHTTPCookie *cookie) {
 | |
|             return [cookie.name localizedCaseInsensitiveContainsString:filterText] ||
 | |
|                 [cookie.value localizedCaseInsensitiveContainsString:filterText] ||
 | |
|                 [cookie.domain localizedCaseInsensitiveContainsString:filterText] ||
 | |
|                 [cookie.path localizedCaseInsensitiveContainsString:filterText];
 | |
|         }
 | |
|     ];
 | |
|     
 | |
|     self.cookies.selectionHandler = ^(UIViewController *host, NSHTTPCookie *cookie) {
 | |
|         [host.navigationController pushViewController:[
 | |
|             FLEXObjectExplorerFactory explorerViewControllerForObject:cookie
 | |
|         ] animated:YES];
 | |
|     };
 | |
|     
 | |
|     return @[self.cookies];
 | |
| }
 | |
| 
 | |
| - (void)reloadData {
 | |
|     self.headerTitle = [NSString stringWithFormat:
 | |
|         @"%@ cookies", @(self.cookies.filteredList.count)
 | |
|     ];
 | |
|     [super reloadData];
 | |
| }
 | |
| 
 | |
| #pragma mark - FLEXGlobalsEntry
 | |
| 
 | |
| + (NSString *)globalsEntryTitle:(FLEXGlobalsRow)row {
 | |
|     return @"🍪  Cookies";
 | |
| }
 | |
| 
 | |
| + (UIViewController *)globalsEntryViewController:(FLEXGlobalsRow)row {
 | |
|     return [self new];
 | |
| }
 | |
| 
 | |
| @end
 | 
