blob: d7b51a866a2ea697bfe16e977b927b854ae4a085 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
//
// DiscoverViewController.m
// Juick
//
// Created by Vitaly Takmazov on 03/12/2017.
// Copyright © 2017 com.juick. All rights reserved.
//
#import "FeedViewController.h"
#import "ThreadViewController.h"
#import "BlogViewController.h"
#import "MessageCell.h"
#import "APIClient.h"
#import "AppDelegate.h"
@interface FeedViewController ()
@property NSString *selectedUser;
@end
@implementation FeedViewController
-(void) viewDidLoad {
self.messagesDelegate = self;
if ([[APIClient sharedClient] isAuthenticated]) {
[[APIClient sharedClient] authenticate:^(User *user, NSError *error) {
if (user) {
if ([self.path length] == 0) {
self.path = [APIClient feedUrl];
self.navigationController.visibleViewController.navigationItem.title = @"My feed";
}
[self setShouldScrollToBottomOnRefresh:NO];
[self refreshData];
} else {
[User throwUnableToLogin:self error:error];
}
}];
} else {
if ([self.path length] == 0) {
self.path = [APIClient messagesUrl];
self.navigationController.visibleViewController.navigationItem.title = @"Discover";
}
[self setShouldScrollToBottomOnRefresh:NO];
[self refreshData];
}
[super viewDidLoad];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (!self.dataLoading) {
MessageCell *cell = (MessageCell *)[super tableView:tableView cellForRowAtIndexPath:indexPath];
cell.delegate = self;
return cell;
} else {
return [super tableView:tableView cellForRowAtIndexPath:indexPath];
}
}
-(void)avatarClicked:(NSString *)uname {
self.selectedUser = uname;
[self performSegueWithIdentifier:@"profileSegue" sender:self];
}
/*
- (IBAction)filterAction:(id)sender {
if (![[APIClient sharedClient] isAuthenticated]) {
[self.navigationController performSegueWithIdentifier:@"loginSegue" sender:self.navigationController];
return;
}
UIAlertController *filterAlert = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
[filterAlert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]];
[filterAlert addAction:[UIAlertAction actionWithTitle:@"My feed" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
self.path = [APIClient feedUrl];
self.navigationController.visibleViewController.navigationItem.title = @"My feed";
self.params = nil;
[self.messages removeAllObjects];
[self.tableView reloadData];
[self setShouldScrollToBottomOnRefresh:NO];
}]];
[filterAlert addAction:[UIAlertAction actionWithTitle:@"Discover" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
self.path = [APIClient messagesUrl];
self.navigationController.visibleViewController.navigationItem.title = @"Discover";
self.params = nil;
[self.messages removeAllObjects];
[self.tableView reloadData];
[self setShouldScrollToBottomOnRefresh:NO];
}]];
[filterAlert addAction:[UIAlertAction actionWithTitle:@"Discussions" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
self.path = [APIClient discussionsUrl];
self.navigationController.visibleViewController.navigationItem.title = @"Discussions";
self.params = nil;
[self.messages removeAllObjects];
[self.tableView reloadData];
[self setShouldScrollToBottomOnRefresh:NO];
}]];
[filterAlert.view setTintColor:[ColorScheme linkColor]];
UIPopoverPresentationController *popover = [filterAlert popoverPresentationController];
if (popover) {
popover.sourceView = self.view;
popover.sourceRect = CGRectMake(CGRectGetMidX(self.view.bounds), CGRectGetMidY(self.view.bounds), 0, 0);
popover.permittedArrowDirections = UIPopoverArrowDirectionUp;
}
[self presentViewController:filterAlert animated:YES completion:nil];
}*/
-(void) loadMore {
Message *lastMsg = [self.messages lastObject];
if (lastMsg != nil) {
if ([self.path isEqualToString:[APIClient discussionsUrl]]) {
NSDate *msgDate = [[APIClient sharedClient].dateFormatter dateFromString:lastMsg.timestamp];
self.params = [@{@"to" : [NSString stringWithFormat:@"%.0f", [msgDate timeIntervalSince1970] * 1000]} mutableCopy];
} else if (![self.path isEqualToString:[APIClient threadUrl]]) {
NSNumber *lastMid = lastMsg.mid;
self.params = [@{@"before_mid":lastMid} mutableCopy];
}
[self setShouldScrollToBottomOnRefresh:NO];
}
}
@end
|