Skip to content
This repository was archived by the owner on Oct 12, 2025. It is now read-only.

Commit a103158

Browse files
ASankaranredsn0w422
authored andcommitted
Fix refresh announcements for ipad (#219)
1 parent e74c476 commit a103158

4 files changed

Lines changed: 20 additions & 19 deletions

File tree

HackIllinois/DataSources/HIAnnouncementDataSource.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ import UserNotifications
1818
final class HIAnnouncementDataSource {
1919

2020
// Serializes access to isRefreshing.
21-
private static let isRefreshineQueue = DispatchQueue(label: "org.hackillinois.org.hi_announcement_data_source.is_refreshing_queue", attributes: .concurrent)
21+
private static let isRefreshingQueue = DispatchQueue(label: "org.hackillinois.org.hi_announcement_data_source.is_refreshing_queue", attributes: .concurrent)
2222
// Tracks if the DataSource is refreshing.
2323
private static var _isRefreshing = false
2424
// Setter and getter for isRefreshing.
2525
public static var isRefreshing: Bool {
26-
get { return isRefreshineQueue.sync { _isRefreshing } }
27-
set { isRefreshineQueue.sync(flags: .barrier) { _isRefreshing = newValue } }
26+
get { return isRefreshingQueue.sync { _isRefreshing } }
27+
set { isRefreshingQueue.sync(flags: .barrier) { _isRefreshing = newValue } }
2828
}
2929

3030
// Waive swiftlint warning

HackIllinois/ViewControllers/HIAdminAnnouncementViewController.swift

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class HIAdminAnnouncementViewController: HIBaseViewController {
4848
titleTextField.delegate = self
4949
descriptionTextField.delegate = self
5050
createAnnouncementButton.addTarget(self, action: #selector(didSelectCreateAnnouncement), for: .touchUpInside)
51-
topicButton.addTarget(self, action: #selector(didSelectTopic), for: .touchUpInside)
51+
topicButton.addTarget(self, action: #selector(didSelectTopic(sender:)), for: .touchUpInside)
5252
}
5353

5454
required init?(coder aDecoder: NSCoder) {
@@ -102,14 +102,18 @@ extension HIAdminAnnouncementViewController {
102102
self.present(confirmAlertController, animated: true, completion: nil)
103103
}
104104

105-
@objc func didSelectTopic() {
106-
let alert = UIAlertController(title: "Topic", message: "Please Choose Topic", preferredStyle: .actionSheet)
107-
for topic in HIAPI.Roles.allRoles {
108-
alert.addAction(UIAlertAction(title: topic, style: .default, handler: { (_) in
109-
self.topicButton.setTitle(topic, for: .normal)
110-
self.currentTopic = topic
111-
}))
105+
@objc func didSelectTopic(sender: UIButton) {
106+
let alert = UIAlertController(title: "Topic", message: "Please select a topic", preferredStyle: .actionSheet)
107+
HIAPI.Roles.allRoles.forEach { topic in
108+
alert.addAction(
109+
UIAlertAction(title: topic, style: .default) { [weak self] _ in
110+
self?.topicButton.setTitle(topic, for: .normal)
111+
self?.currentTopic = topic
112+
}
113+
)
112114
}
115+
alert.popoverPresentationController?.sourceRect = sender.bounds
116+
alert.popoverPresentationController?.sourceView = sender
113117
self.present(alert, animated: true, completion: nil)
114118
}
115119
}

HackIllinois/ViewControllers/HIAnnouncementsViewController.swift

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ extension HIAnnouncementsViewController {
6767

6868
override func viewWillAppear(_ animated: Bool) {
6969
super.viewWillAppear(animated)
70-
NotificationCenter.default.addObserver(self, selector: #selector(viewDidBecomeActive), name: UIApplication.didBecomeActiveNotification, object: nil)
70+
HIAnnouncementDataSource.refresh()
71+
7172
NotificationCenter.default.addObserver(self, selector: #selector(viewWillEnterForeground), name: UIApplication.willEnterForegroundNotification, object: nil)
7273

7374
var rightNavigationItem: UIBarButtonItem?
@@ -82,14 +83,9 @@ extension HIAnnouncementsViewController {
8283
NotificationCenter.default.removeObserver(self)
8384
}
8485

85-
@objc func viewDidBecomeActive() {
86-
try? fetchedResultsController.performFetch()
87-
animateTableViewReload()
88-
}
89-
9086
@objc func viewWillEnterForeground() {
9187
try? fetchedResultsController.performFetch()
92-
animateTableViewReload()
88+
HIAnnouncementDataSource.refresh()
9389
}
9490
}
9591

HackIllinois/ViewControllers/HIUserDetailViewController.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class HIUserDetailViewController: HIBaseViewController {
5353

5454
// MARK: - Actions
5555
extension HIUserDetailViewController {
56-
@objc func didSelectLogoutButton(_ sender: Any) {
56+
@objc func didSelectLogoutButton(_ sender: UIBarButtonItem) {
5757
let alert = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
5858
alert.addAction(
5959
UIAlertAction(title: "Logout", style: .destructive) { _ in
@@ -63,6 +63,7 @@ extension HIUserDetailViewController {
6363
alert.addAction(
6464
UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
6565
)
66+
alert.popoverPresentationController?.barButtonItem = sender
6667
present(alert, animated: true, completion: nil)
6768
}
6869
}

0 commit comments

Comments
 (0)