#import "TGSecretTimerMenu.h" #import "LegacyComponentsInternal.h" #import "TGMenuSheetController.h" #import "TGMenuSheetTitleItemView.h" #import "TGMenuSheetButtonItemView.h" #import "TGSecretTimerPickerItemView.h" @implementation TGSecretTimerMenu + (TGMenuSheetController *)presentInParentController:(TGViewController *)parentController context:(id)context dark:(bool)dark description:(NSString *)description values:(NSArray *)values value:(NSNumber *)value completed:(void (^)(NSNumber *))completed dismissed:(void (^)(void))dismissed sourceView:(UIView *)sourceView sourceRect:(CGRect (^)(void))sourceRect { TGMenuSheetController *controller = [[TGMenuSheetController alloc] initWithContext:context dark:dark]; controller.forceFullScreen = true; controller.dismissesByOutsideTap = true; controller.hasSwipeGesture = true; controller.narrowInLandscape = true; controller.sourceRect = sourceRect; controller.permittedArrowDirections = (UIPopoverArrowDirectionUp | UIPopoverArrowDirectionDown); controller.willDismiss = ^(__unused bool manual) { if (dismissed != nil) dismissed(); }; NSMutableArray *itemViews = [[NSMutableArray alloc] init]; if (description.length > 0) { TGMenuSheetTitleItemView *titleItem = [[TGMenuSheetTitleItemView alloc] initWithTitle:nil subtitle:description]; [itemViews addObject:titleItem]; } TGSecretTimerPickerItemView *timerItem = [[TGSecretTimerPickerItemView alloc] initWithValues:values value:value]; [itemViews addObject:timerItem]; __weak TGMenuSheetController *weakController = controller; __weak TGSecretTimerPickerItemView *weakTimerItem = timerItem; TGMenuSheetButtonItemView *doneItem = [[TGMenuSheetButtonItemView alloc] initWithTitle:TGLocalized(@"Common.Done") type:TGMenuSheetButtonTypeSend fontSize:20.0 action:^ { __strong TGSecretTimerPickerItemView *strongTimerItem = weakTimerItem; if (strongTimerItem != nil) { NSNumber *value = strongTimerItem.value; completed(value); } __strong TGMenuSheetController *strongController = weakController; [strongController dismissAnimated:true]; }]; [itemViews addObject:doneItem]; [controller setItemViews:itemViews animated:false]; [controller presentInViewController:(UIViewController *)parentController sourceView:sourceView animated:true]; return controller; } + (NSArray *)secretMediaTimerValues { NSMutableArray *timerValues = [[NSMutableArray alloc] init]; for (int i = 0; i < 20; i++) { [timerValues addObject:@(i)]; } for (int i = 20; i <= 60; i += 5) { [timerValues addObject:@(i)]; } return timerValues; } @end