mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-21 00:52:43 +02:00
Fix Doug's remarks
This commit is contained in:
@@ -148,10 +148,10 @@ final class ThreadListViewController: UIViewController {
|
||||
renderEmptyView(withViewModel: viewModel)
|
||||
case .showingFilterTypes:
|
||||
renderShowingFilterTypes()
|
||||
case .showingLongPressActions:
|
||||
renderShowingLongPressActions()
|
||||
case .share(let string):
|
||||
renderShare(string)
|
||||
case .showingLongPressActions(let index):
|
||||
renderShowingLongPressActions(index)
|
||||
case .share(let url, let index):
|
||||
renderShare(url, index: index)
|
||||
case .toastForCopyLink:
|
||||
toastForCopyLink()
|
||||
case .error(let error):
|
||||
@@ -226,7 +226,7 @@ final class ThreadListViewController: UIViewController {
|
||||
self.present(alertController, animated: true, completion: nil)
|
||||
}
|
||||
|
||||
private func renderShowingLongPressActions() {
|
||||
private func renderShowingLongPressActions(_ index: Int) {
|
||||
let controller = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
|
||||
|
||||
controller.addAction(UIAlertAction(title: VectorL10n.roomEventActionViewInRoom,
|
||||
@@ -253,14 +253,25 @@ final class ThreadListViewController: UIViewController {
|
||||
controller.addAction(UIAlertAction(title: VectorL10n.cancel,
|
||||
style: .cancel,
|
||||
handler: nil))
|
||||
|
||||
|
||||
if let cell = threadsTableView.cellForRow(at: IndexPath(row: index, section: 0)) {
|
||||
controller.popoverPresentationController?.sourceView = cell
|
||||
} else {
|
||||
controller.popoverPresentationController?.sourceView = view
|
||||
}
|
||||
|
||||
self.present(controller, animated: true, completion: nil)
|
||||
}
|
||||
|
||||
private func renderShare(_ string: String) {
|
||||
let activityVC = UIActivityViewController(activityItems: [string],
|
||||
private func renderShare(_ url: URL, index: Int) {
|
||||
let activityVC = UIActivityViewController(activityItems: [url],
|
||||
applicationActivities: nil)
|
||||
activityVC.modalTransitionStyle = .coverVertical
|
||||
if let cell = threadsTableView.cellForRow(at: IndexPath(row: index, section: 0)) {
|
||||
activityVC.popoverPresentationController?.sourceView = cell
|
||||
} else {
|
||||
activityVC.popoverPresentationController?.sourceView = view
|
||||
}
|
||||
present(activityVC, animated: true, completion: nil)
|
||||
}
|
||||
|
||||
|
||||
@@ -296,7 +296,7 @@ final class ThreadListViewModel: ThreadListViewModelProtocol {
|
||||
return
|
||||
}
|
||||
longPressedThread = threads[index]
|
||||
viewState = .showingLongPressActions
|
||||
viewState = .showingLongPressActions(index)
|
||||
}
|
||||
|
||||
private func actionViewInRoom() {
|
||||
@@ -311,19 +311,22 @@ final class ThreadListViewModel: ThreadListViewModelProtocol {
|
||||
guard let thread = longPressedThread else {
|
||||
return
|
||||
}
|
||||
if let permalink = MXTools.permalink(toEvent: thread.id, inRoom: thread.roomId) {
|
||||
MXKPasteboardManager.shared.pasteboard.string = permalink
|
||||
if let permalink = MXTools.permalink(toEvent: thread.id, inRoom: thread.roomId),
|
||||
let url = URL(string: permalink) {
|
||||
MXKPasteboardManager.shared.pasteboard.url = url
|
||||
viewState = .toastForCopyLink
|
||||
}
|
||||
longPressedThread = nil
|
||||
}
|
||||
|
||||
private func actionShare() {
|
||||
guard let thread = longPressedThread else {
|
||||
guard let thread = longPressedThread,
|
||||
let index = threads.firstIndex(of: thread) else {
|
||||
return
|
||||
}
|
||||
if let permalink = MXTools.permalink(toEvent: thread.id, inRoom: thread.roomId) {
|
||||
viewState = .share(permalink)
|
||||
if let permalink = MXTools.permalink(toEvent: thread.id, inRoom: thread.roomId),
|
||||
let url = URL(string: permalink) {
|
||||
viewState = .share(url, index)
|
||||
}
|
||||
longPressedThread = nil
|
||||
}
|
||||
|
||||
@@ -25,8 +25,8 @@ enum ThreadListViewState {
|
||||
case loaded
|
||||
case empty(_ viewModel: ThreadListEmptyModel)
|
||||
case showingFilterTypes
|
||||
case showingLongPressActions
|
||||
case share(_ string: String)
|
||||
case showingLongPressActions(_ index: Int)
|
||||
case share(_ url: URL, _ index: Int)
|
||||
case toastForCopyLink
|
||||
case error(Error)
|
||||
}
|
||||
|
||||
@@ -39,10 +39,7 @@ class ThreadTableViewCell: UITableViewCell {
|
||||
@IBOutlet private weak var lastMessageTimeLabel: UILabel!
|
||||
@IBOutlet private weak var summaryView: ThreadSummaryView!
|
||||
|
||||
private static var usernameColorGenerator: UserNameColorGenerator = {
|
||||
let generator = UserNameColorGenerator()
|
||||
return generator
|
||||
}()
|
||||
private static var usernameColorGenerator = UserNameColorGenerator()
|
||||
|
||||
override func awakeFromNib() {
|
||||
super.awakeFromNib()
|
||||
|
||||
Reference in New Issue
Block a user