Fix further review remarks

This commit is contained in:
ismailgulek
2022-01-27 01:45:01 +03:00
parent 526631d47f
commit 558b43763f
9 changed files with 50 additions and 49 deletions
@@ -119,7 +119,7 @@ final class ThreadListViewController: UIViewController {
private func setupViews() {
let titleView = ThreadRoomTitleView.loadFromNib()
titleView.mode = .allThreads
titleView.configure(withViewModel: viewModel.titleViewModel)
titleView.configure(withModel: viewModel.titleModel)
titleView.updateLayout(for: UIApplication.shared.statusBarOrientation)
self.titleView = titleView
navigationItem.leftItemsSupplementBackButton = true
@@ -144,8 +144,8 @@ final class ThreadListViewController: UIViewController {
self.renderLoading()
case .loaded:
self.renderLoaded()
case .empty(let viewModel):
self.renderEmptyView(withViewModel: viewModel)
case .empty(let model):
self.renderEmptyView(withModel: model)
case .showingFilterTypes:
self.renderShowingFilterTypes()
case .error(let error):
@@ -166,9 +166,9 @@ final class ThreadListViewController: UIViewController {
navigationItem.rightBarButtonItem?.isEnabled = true
}
private func renderEmptyView(withViewModel emptyViewModel: ThreadListEmptyModel) {
private func renderEmptyView(withModel model: ThreadListEmptyModel) {
self.activityPresenter.removeCurrentActivityIndicator(animated: true)
emptyView.configure(withViewModel: emptyViewModel)
emptyView.configure(withModel: model)
threadsTableView.isHidden = true
emptyView.isHidden = false
navigationItem.rightBarButtonItem?.isEnabled = viewModel.selectedFilterType == .myThreads
@@ -243,8 +243,8 @@ extension ThreadListViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: ThreadTableViewCell = tableView.dequeueReusableCell(for: indexPath)
if let threadVM = viewModel.threadViewModel(at: indexPath.row) {
cell.configure(withViewModel: threadVM)
if let threadModel = viewModel.threadModel(at: indexPath.row) {
cell.configure(withModel: threadModel)
}
cell.update(theme: theme)
@@ -83,14 +83,14 @@ final class ThreadListViewModel: ThreadListViewModelProtocol {
return threads.count
}
func threadViewModel(at index: Int) -> ThreadModel? {
func threadModel(at index: Int) -> ThreadModel? {
guard index < threads.count else {
return nil
}
return viewModel(forThread: threads[index])
return model(forThread: threads[index])
}
var titleViewModel: ThreadRoomTitleModel {
var titleModel: ThreadRoomTitleModel {
guard let room = session.room(withRoomId: roomId) else {
return .empty
}
@@ -135,7 +135,7 @@ final class ThreadListViewModel: ThreadListViewModelProtocol {
// MARK: - Private
private func viewModel(forThread thread: MXThread) -> ThreadModel {
private func model(forThread thread: MXThread) -> ThreadModel {
let rootAvatarViewData: AvatarViewData?
let rootMessageSender: MXUser?
let lastAvatarViewData: AvatarViewData?
@@ -175,15 +175,15 @@ final class ThreadListViewModel: ThreadListViewModelProtocol {
lastMessageSender = nil
}
let summaryViewModel = ThreadSummaryModel(numberOfReplies: thread.numberOfReplies,
lastMessageSenderAvatar: lastAvatarViewData,
lastMessageText: lastMessageText)
let summaryModel = ThreadSummaryModel(numberOfReplies: thread.numberOfReplies,
lastMessageSenderAvatar: lastAvatarViewData,
lastMessageText: lastMessageText)
return ThreadModel(rootMessageSenderAvatar: rootAvatarViewData,
rootMessageSenderDisplayName: rootMessageSender?.displayname,
rootMessageText: rootMessageText,
lastMessageTime: lastMessageTime,
summaryViewModel: summaryViewModel)
summaryModel: summaryModel)
}
private func rootMessageText(forThread thread: MXThread) -> String? {
@@ -38,10 +38,10 @@ protocol ThreadListViewModelProtocol {
var viewState: ThreadListViewState { get }
var titleViewModel: ThreadRoomTitleModel { get }
var titleModel: ThreadRoomTitleModel { get }
var selectedFilterType: ThreadListFilterType { get }
var numberOfThreads: Int { get }
func threadViewModel(at index: Int) -> ThreadModel?
func threadModel(at index: Int) -> ThreadModel?
}
enum ThreadListFilterType {
@@ -21,5 +21,5 @@ struct ThreadModel {
let rootMessageSenderDisplayName: String?
let rootMessageText: String?
let lastMessageTime: String?
let summaryViewModel: ThreadSummaryModel?
let summaryModel: ThreadSummaryModel?
}
@@ -35,17 +35,17 @@ class ThreadTableViewCell: UITableViewCell {
separatorInset = Constants.separatorInset
}
func configure(withViewModel viewModel: ThreadModel) {
if let rootAvatar = viewModel.rootMessageSenderAvatar {
func configure(withModel model: ThreadModel) {
if let rootAvatar = model.rootMessageSenderAvatar {
rootMessageAvatarView.fill(with: rootAvatar)
} else {
rootMessageAvatarView.avatarImageView.image = nil
}
rootMessageSenderLabel.text = viewModel.rootMessageSenderDisplayName
rootMessageContentLabel.text = viewModel.rootMessageText
lastMessageTimeLabel.text = viewModel.lastMessageTime
if let summaryViewModel = viewModel.summaryViewModel {
summaryView.configure(withViewModel: summaryViewModel)
rootMessageSenderLabel.text = model.rootMessageSenderDisplayName
rootMessageContentLabel.text = model.rootMessageText
lastMessageTimeLabel.text = model.lastMessageTime
if let summaryModel = model.summaryModel {
summaryView.configure(withModel: summaryModel)
}
}
@@ -39,14 +39,14 @@ class ThreadListEmptyView: UIView {
loadNibContent()
}
func configure(withViewModel viewModel: ThreadListEmptyModel) {
iconView.image = viewModel.icon
titleLabel.text = viewModel.title
infoLabel.text = viewModel.info
tipLabel.text = viewModel.tip
showAllThreadsButton.setTitle(viewModel.showAllThreadsButtonTitle,
func configure(withModel model: ThreadListEmptyModel) {
iconView.image = model.icon
titleLabel.text = model.title
infoLabel.text = model.info
tipLabel.text = model.tip
showAllThreadsButton.setTitle(model.showAllThreadsButtonTitle,
for: .normal)
showAllThreadsButton.isHidden = viewModel.showAllThreadsButtonHidden
showAllThreadsButton.isHidden = model.showAllThreadsButtonHidden
titleLabel.isHidden = titleLabel.text?.isEmpty ?? true
infoLabel.isHidden = infoLabel.text?.isEmpty ?? true