@@ -52,8 +52,9 @@ class HomeScreenViewModel: HomeScreenViewModelType, HomeScreenViewModelProtocol
52
52
switch viewAction {
53
53
case . logout:
54
54
self . completion ? ( . logout)
55
- case . loadRoomAvatar ( let roomId) :
55
+ case . loadRoomData ( let roomId) :
56
56
self . loadAvatarForRoomWithIdentifier ( roomId)
57
+ self . loadRoomDisplayNameForRoomWithIdentifier ( roomId)
57
58
case . loadUserAvatar:
58
59
self . completion ? ( . loadUserAvatar)
59
60
}
@@ -63,7 +64,7 @@ class HomeScreenViewModel: HomeScreenViewModelType, HomeScreenViewModelProtocol
63
64
self . roomList = roomList
64
65
state. rooms = roomList. map { roomModel in
65
66
HomeScreenRoom ( id: roomModel. identifier,
66
- displayName: roomModel. displayName ,
67
+ displayName: roomModel. name ,
67
68
topic: roomModel. topic,
68
69
lastMessage: roomModel. lastMessage,
69
70
isDirect: roomModel. isDirect,
@@ -114,6 +115,31 @@ class HomeScreenViewModel: HomeScreenViewModelType, HomeScreenViewModelProtocol
114
115
}
115
116
}
116
117
118
+ private func loadRoomDisplayNameForRoomWithIdentifier( _ roomIdentifier: String ) {
119
+ guard let room = roomList? . filter ( { $0. identifier == roomIdentifier } ) . first else {
120
+ return
121
+ }
122
+
123
+ room. loadDisplayName { [ weak self] result in
124
+ guard let self = self else { return }
125
+
126
+ switch result {
127
+ case . success( let displayName) :
128
+ self . updateDisplayName ( displayName, forRoomWithIdentifier: roomIdentifier)
129
+ default :
130
+ break
131
+ }
132
+ }
133
+ }
134
+
135
+ private func updateDisplayName( _ displayName: String , forRoomWithIdentifier roomIdentifier: String ) {
136
+ guard let index = self . state. rooms. firstIndex ( where: { $0. id == roomIdentifier } ) else {
137
+ return
138
+ }
139
+
140
+ self . state. rooms [ index] . displayName = displayName
141
+ }
142
+
117
143
private func updateAvatar( _ avatar: UIImage ? , forRoomWithIdentifier roomIdentifier: String ) {
118
144
guard let index = self . state. rooms. firstIndex ( where: { $0. id == roomIdentifier } ) else {
119
145
return
0 commit comments