|
|
@ -29,37 +29,38 @@ extension ConversationVC:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@objc func openSettings() {
|
|
|
|
@objc func openSettings() {
|
|
|
|
let viewModel: SessionTableViewModel = {
|
|
|
|
let viewController: SessionTableViewController = {
|
|
|
|
switch self.titleView.currentLabelType {
|
|
|
|
switch self.titleView.currentLabelType {
|
|
|
|
case .notificationSettings:
|
|
|
|
case .notificationSettings:
|
|
|
|
fallthrough
|
|
|
|
fallthrough
|
|
|
|
case .userCount:
|
|
|
|
case .userCount:
|
|
|
|
return ThreadSettingsViewModel(
|
|
|
|
return SessionTableViewController(viewModel: ThreadSettingsViewModel(
|
|
|
|
threadId: self.viewModel.threadData.threadId,
|
|
|
|
threadId: self.viewModel.threadData.threadId,
|
|
|
|
threadVariant: self.viewModel.threadData.threadVariant,
|
|
|
|
threadVariant: self.viewModel.threadData.threadVariant,
|
|
|
|
didTriggerSearch: { [weak self] in
|
|
|
|
didTriggerSearch: { [weak self] in
|
|
|
|
DispatchQueue.main.async {
|
|
|
|
DispatchQueue.main.async {
|
|
|
|
self?.showSearchUI()
|
|
|
|
self?.showSearchUI()
|
|
|
|
self?.popAllConversationSettingsViews {
|
|
|
|
self?.popAllConversationSettingsViews {
|
|
|
|
// Note: Without this delay the search bar doesn't show
|
|
|
|
// Note: Without this delay the search bar doesn't show
|
|
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
|
|
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
|
|
|
|
self?.searchController.uiSearchController.searchBar.becomeFirstResponder()
|
|
|
|
self?.searchController.uiSearchController.searchBar.becomeFirstResponder()
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
case .disappearingMessageSetting:
|
|
|
|
case .disappearingMessageSetting:
|
|
|
|
return ThreadDisappearingMessagesViewModel(
|
|
|
|
return SessionTableViewController(viewModel: ThreadDisappearingMessagesViewModel(
|
|
|
|
threadId: self.viewModel.threadData.threadId,
|
|
|
|
threadId: self.viewModel.threadData.threadId,
|
|
|
|
threadVariant: self.viewModel.threadData.threadVariant,
|
|
|
|
threadVariant: self.viewModel.threadData.threadVariant,
|
|
|
|
currentUserIsClosedGroupAdmin: self.viewModel.threadData.currentUserIsClosedGroupAdmin,
|
|
|
|
currentUserIsClosedGroupAdmin: self.viewModel.threadData.currentUserIsClosedGroupAdmin,
|
|
|
|
config: self.viewModel.threadData.disappearingMessagesConfiguration!
|
|
|
|
config: self.viewModel.threadData.disappearingMessagesConfiguration!
|
|
|
|
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}()
|
|
|
|
}()
|
|
|
|
|
|
|
|
|
|
|
|
let viewController: SessionTableViewController = SessionTableViewController(viewModel: viewModel)
|
|
|
|
|
|
|
|
navigationController?.pushViewController(viewController, animated: true)
|
|
|
|
navigationController?.pushViewController(viewController, animated: true)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|