blob: f664f62f2f2cc9fd76ad290eb9578b17b95f305d (
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
|
//
// 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"
#import "LoginViewController.h"
@interface FeedViewController ()
@property NSString *selectedUser;
@end
@implementation FeedViewController
-(void) viewDidLoad {
self.messagesDelegate = self;
self.title = @"Today";
[self refreshPath];
[self setShouldScrollToBottomOnRefresh:NO];
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(userDidSignedIn:) name:UserSignedInNotificationName object:nil];
}
-(void)avatarClicked:(NSString *)uname {
self.selectedUser = uname;
[self performSegueWithIdentifier:@"profileSegue" sender:self];
}
-(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];
[self refreshData];
}
}
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
if ([identifier isEqualToString:@"newPostSegue"]) {
if ([[APIClient sharedClient] isAuthenticated]) {
return YES;
} else {
[self.navigationController performSegueWithIdentifier:@"loginSegue" sender:self];
return NO;
}
}
return YES;
}
- (void)didReceiveChallenge {
}
-(void) refreshPath {
if ([[APIClient sharedClient] isAuthenticated]) {
self.path = [APIClient feedUrl];
} else {
self.path = [APIClient messagesUrl];
self.params = @{@"popular": @1};
}
}
- (void)userDidSignedIn:(User *) user {
[self refreshPath];
[self refreshData];
}
@end
|