|
18 | 18 | #import "Message.h"
|
19 | 19 | #import "MessageTableViewCell.h"
|
20 | 20 | #import "MessageDataSource.h"
|
| 21 | +// Uncomment when using frawemorks |
| 22 | +//@import FirebaseAuthUI; |
| 23 | +#import <FirebaseAuthUI.h> |
21 | 24 |
|
22 |
| -@interface ViewController () |
23 |
| - |
24 |
| -@end |
25 |
| - |
26 |
| -@implementation ViewController { |
27 |
| -// FAuthData *_currentUser; |
28 |
| -} |
| 25 | +@implementation ViewController |
29 | 26 |
|
30 | 27 | - (void)viewDidLoad {
|
31 | 28 | [super viewDidLoad];
|
32 | 29 |
|
33 | 30 | self.ref = [FIRDatabase database].reference;
|
34 | 31 |
|
35 | 32 | self.dataSource =
|
36 |
| - [[MessageDataSource alloc] initWithRef:self.ref |
37 |
| - modelClass:[Message class] |
38 |
| - nibNamed:@"MessageTableViewCell" |
39 |
| - cellReuseIdentifier:@"cellReuseIdentifier" |
40 |
| - view:self.tableView]; |
| 33 | + [[MessageDataSource alloc] initWithRef:self.ref |
| 34 | + modelClass:[Message class] |
| 35 | + nibNamed:@"MessageTableViewCell" |
| 36 | + cellReuseIdentifier:@"cellReuseIdentifier" |
| 37 | + view:self.tableView]; |
41 | 38 |
|
42 | 39 | [self.dataSource
|
43 |
| - populateCellWithBlock:^void(MessageTableViewCell *__nonnull cell, |
44 |
| - Message *__nonnull message) { |
45 |
| -// if ([message.name isEqualToString:[self usernameForProvider:[self.loginViewController currentUser].provider]]) { |
46 |
| -// cell.myMessageLabel.text = message.text; |
47 |
| -// cell.myNameLabel.text = message.name; |
48 |
| -// cell.myNameLabel.textColor = [UIColor colorWithRed:52.0 / 255.0 |
49 |
| -// green:170.0 / 255.0 |
50 |
| -// blue:220.0 / 255.0 |
51 |
| -// alpha:1.0]; |
52 |
| -// [cell.otherMessageLabel setHidden:YES]; |
53 |
| -// [cell.otherNameLabel setHidden:YES]; |
54 |
| -// [cell.myMessageLabel setHidden:NO]; |
55 |
| -// [cell.myNameLabel setHidden:NO]; |
56 |
| -// } else { |
57 |
| - cell.otherMessageLabel.text = message.text; |
58 |
| - cell.otherNameLabel.text = message.name; |
59 |
| - cell.otherNameLabel.textColor = [UIColor colorWithRed:164.0 / 255.0 |
60 |
| - green:199.0 / 255.0 |
61 |
| - blue:57.0 / 255.0 |
62 |
| - alpha:1.0]; |
63 |
| - [cell.otherMessageLabel setHidden:NO]; |
64 |
| - [cell.otherNameLabel setHidden:NO]; |
65 |
| - [cell.myMessageLabel setHidden:YES]; |
66 |
| - [cell.myNameLabel setHidden:YES]; |
67 |
| -// } |
68 |
| - }]; |
| 40 | + populateCellWithBlock:^void(MessageTableViewCell *__nonnull cell, |
| 41 | + Message *__nonnull message) { |
| 42 | + cell.otherMessageLabel.text = message.text; |
| 43 | + cell.otherNameLabel.text = message.name; |
| 44 | + cell.otherNameLabel.textColor = [UIColor colorWithRed:164.0 / 255.0 |
| 45 | + green:199.0 / 255.0 |
| 46 | + blue:57.0 / 255.0 |
| 47 | + alpha:1.0]; |
| 48 | + [cell.otherMessageLabel setHidden:NO]; |
| 49 | + [cell.otherNameLabel setHidden:NO]; |
| 50 | + [cell.myMessageLabel setHidden:YES]; |
| 51 | + [cell.myNameLabel setHidden:YES]; |
| 52 | + }]; |
69 | 53 |
|
70 | 54 | self.tableView.dataSource = self.dataSource;
|
71 | 55 | self.tableView.delegate = self;
|
72 |
| - |
73 |
| -// self.loginViewController = [[FirebaseLoginViewController alloc] initWithRef:self.ref]; |
74 |
| - // Only enable social providers that you've configured |
75 |
| -// [self.loginViewController enableProvider:FAuthProviderFacebook]; |
76 |
| -// [self.loginViewController enableProvider:FAuthProviderGoogle]; |
77 |
| -// [self.loginViewController enableProvider:FAuthProviderTwitter]; |
78 |
| -// [self.loginViewController enableProvider:FAuthProviderPassword]; |
79 | 56 |
|
80 |
| -// self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:nil style:UIBarButtonItemStylePlain target:self action:@selector(toggleAuth)]; |
81 | 57 | }
|
82 | 58 |
|
83 |
| -- (void)didReceiveMemoryWarning { |
84 |
| - [super didReceiveMemoryWarning]; |
85 |
| -} |
86 | 59 |
|
87 | 60 | - (void)viewWillAppear:(BOOL)animated {
|
88 |
| -// _currentUser = [self.loginViewController currentUser]; |
89 |
| -// self.title = [self usernameForProvider:[self.loginViewController currentUser].provider]; |
90 |
| -// self.navigationItem.rightBarButtonItem.title = _currentUser ? @"Logout" : @"Login"; |
91 | 61 | [self.tableView reloadData];
|
92 | 62 | }
|
93 | 63 |
|
94 |
| -//- (void)toggleAuth { |
95 |
| -// if (_currentUser) { |
96 |
| -// [self.loginViewController logout]; |
97 |
| -// _currentUser = nil; |
98 |
| -// self.title = @"iOS User"; |
99 |
| -// [self.tableView reloadData]; |
100 |
| -// } else { |
101 |
| -// [self presentViewController:self.loginViewController animated:YES completion:nil]; |
102 |
| -// } |
103 |
| -// self.navigationItem.rightBarButtonItem.title = _currentUser ? @"Logout" : @"Login"; |
104 |
| -//} |
105 |
| - |
106 | 64 | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
107 | 65 | [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
|
108 | 66 | }
|
109 | 67 |
|
110 | 68 | - (BOOL)textFieldShouldReturn:(UITextField *)textField {
|
| 69 | + |
| 70 | + NSString *currentUser = [FIRAuth auth].currentUser.displayName ?: @"iOS User"; |
| 71 | + |
111 | 72 | [[self.ref childByAutoId]
|
112 |
| -// setValue:@{@"name" : [self usernameForProvider:[self.loginViewController currentUser].provider], @"text" : textField.text}]; |
113 |
| - setValue:@{@"name" : @"iOS User", @"text" : textField.text}]; |
| 73 | + setValue:@{@"name" : currentUser, @"text" : textField.text}]; |
114 | 74 | [textField resignFirstResponder];
|
115 | 75 | textField.text = @"";
|
116 | 76 | return YES;
|
117 | 77 | }
|
118 | 78 |
|
119 |
| -//- (NSString *)usernameForProvider:(NSString *)provider { |
120 |
| -// if ([provider isEqualToString:kGoogleAuthProvider]) { |
121 |
| -// return _currentUser.providerData[@"displayName"]; |
122 |
| -// } else if ([provider isEqualToString:kFacebookAuthProvider]) { |
123 |
| -// return _currentUser.providerData[@"displayName"]; |
124 |
| -// } else if ([provider isEqualToString:kTwitterAuthProvider]) { |
125 |
| -// return [NSString stringWithFormat:@"@%@", _currentUser.providerData[@"username"]]; |
126 |
| -// } else if ([provider isEqualToString:kPasswordAuthProvider]) { |
127 |
| -// return _currentUser.providerData[@"email"]; |
128 |
| -// } else { |
129 |
| -// return @"iOS User"; |
130 |
| -// } |
131 |
| -//} |
132 |
| - |
133 | 79 | @end
|
0 commit comments