69 lines
2.4 KiB
Objective-C
69 lines
2.4 KiB
Objective-C
//
|
|
// AuthorizationProgressViewController.m
|
|
// HotPocket (macOS)
|
|
//
|
|
// Created by Tomek Wójcik on 20/09/2025.
|
|
//
|
|
|
|
#import "AuthorizationProgressViewController.h"
|
|
|
|
#import "AppDelegate.h"
|
|
#import "AuthorizationViewController.h"
|
|
#import "HPCredentialsHelper.h"
|
|
#import "MainViewController.h"
|
|
#import "ReplaceAnimator.h"
|
|
|
|
@interface AuthorizationProgressViewController (AuthorizationProgressViewControllerPrivate)
|
|
|
|
#pragma mark - Private interface
|
|
|
|
@end
|
|
|
|
@implementation AuthorizationProgressViewController
|
|
|
|
#pragma mark - View lifecycle
|
|
|
|
-(void)viewDidLoad {
|
|
[super viewDidLoad];
|
|
}
|
|
|
|
-(void)viewWillAppear {
|
|
AppDelegate *appDelegate = [[NSApplication sharedApplication] delegate];
|
|
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onAuthFlowDidFinish:) name:@"AuthFlowDidFinish" object:appDelegate.authFlow];
|
|
|
|
[self.progressIndicator startAnimation:self];
|
|
}
|
|
|
|
-(void)viewDidDisappear {
|
|
[self.progressIndicator stopAnimation:self];
|
|
|
|
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
|
}
|
|
|
|
#pragma mark - Notification handlers
|
|
|
|
-(void)onAuthFlowDidFinish:(NSNotification *)notification {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
HPCredentials *credentials = [[HPCredentialsHelper sharedHelper] getCredentials];
|
|
|
|
[[NSApplication sharedApplication] requestUserAttention:NSInformationalRequest];
|
|
[[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
|
|
|
|
if (credentials.usable == NO) {
|
|
NSAlert *alert = [[NSAlert alloc] init];
|
|
alert.alertStyle = NSAlertStyleCritical;
|
|
alert.messageText = NSLocalizedString(@"Oops!", @"Oops!");
|
|
alert.informativeText = NSLocalizedString(@"HotPocket couldn't complete this operation.", @"HotPocket couldn't complete this operation.");
|
|
[alert runModal];
|
|
|
|
AuthorizationViewController *authorizationViewController = [self.storyboard instantiateControllerWithIdentifier:@"AuthorizationViewController"];
|
|
[self presentViewController:authorizationViewController animator:[[ReplaceAnimator alloc] init]];
|
|
} else {
|
|
MainViewController *mainViewController = [self.storyboard instantiateControllerWithIdentifier:@"MainViewController"];
|
|
[self presentViewController:mainViewController animator:[[ReplaceAnimator alloc] init]];
|
|
}
|
|
});
|
|
}
|
|
|
|
@end
|