|
130 | 130 | isOpen: !!selectedReactionType, |
131 | 131 | messageId: messageId, |
132 | 132 | reactionType: selectedReactionType, |
133 | | - isOpenChangeHandler: isOpenChange |
| 133 | + isOpenChangeHandler: isOpenChange, |
| 134 | + content: modalContent |
134 | 135 | } |
135 | 136 | " |
136 | 137 | ></ng-container> |
|
142 | 143 | let-messageId="messageId" |
143 | 144 | let-reactionType="reactionType" |
144 | 145 | let-isOpenChangeHandler="isOpenChangeHandler" |
| 146 | + let-content="content" |
145 | 147 | > |
146 | 148 | <stream-modal |
147 | 149 | class="str-chat__message-reactions-details-modal" |
148 | 150 | [isOpen]="isOpen" |
149 | 151 | (isOpenChange)="isOpenChangeHandler($event)" |
| 152 | + [content]="content" |
150 | 153 | > |
151 | | - <div class="str-chat__message-reactions-details"> |
152 | | - <div class="str-chat__message-reactions-details-reaction-types"> |
153 | | - <div |
154 | | - class="str-chat__message-reactions-details-reaction-type" |
155 | | - *ngFor=" |
156 | | - let reactionType of existingReactions; |
157 | | - trackBy: trackByMessageReaction |
158 | | - " |
159 | | - [ngStyle]="{ |
160 | | - cursor: shouldHandleReactionClick ? 'pointer' : 'default' |
161 | | - }" |
162 | | - attr.data-testid="reaction-details-selector-{{ reactionType }}" |
163 | | - [class.str-chat__message-reactions-details-reaction-type--selected]=" |
164 | | - reactionType === selectedReactionType |
165 | | - " |
166 | | - (click)="selectedReactionType = reactionType; allUsers.scrollTop = 0" |
167 | | - (keyup.enter)=" |
168 | | - selectedReactionType = reactionType; allUsers.scrollTop = 0 |
169 | | - " |
170 | | - > |
171 | | - <span class="emoji str-chat__message-reaction-emoji"> |
172 | | - {{ getEmojiByReaction(reactionType) }} |
173 | | - </span> |
174 | | - <span class="str-chat__message-reaction-count"> |
175 | | - {{ messageReactionCounts[reactionType] }} |
176 | | - </span> |
177 | | - </div> |
178 | | - </div> |
| 154 | + </stream-modal> |
| 155 | +</ng-template> |
| 156 | + |
| 157 | +<ng-template #modalContent> |
| 158 | + <div class="str-chat__message-reactions-details"> |
| 159 | + <div class="str-chat__message-reactions-details-reaction-types"> |
179 | 160 | <div |
180 | | - class=" |
181 | | - emoji |
182 | | - str-chat__message-reaction-emoji str-chat__message-reaction-emoji-big |
| 161 | + class="str-chat__message-reactions-details-reaction-type" |
| 162 | + *ngFor=" |
| 163 | + let reactionType of existingReactions; |
| 164 | + trackBy: trackByMessageReaction |
| 165 | + " |
| 166 | + [ngStyle]="{ |
| 167 | + cursor: shouldHandleReactionClick ? 'pointer' : 'default' |
| 168 | + }" |
| 169 | + attr.data-testid="reaction-details-selector-{{ reactionType }}" |
| 170 | + [class.str-chat__message-reactions-details-reaction-type--selected]=" |
| 171 | + reactionType === selectedReactionType |
| 172 | + " |
| 173 | + (click)="selectedReactionType = reactionType; allUsers.scrollTop = 0" |
| 174 | + (keyup.enter)=" |
| 175 | + selectedReactionType = reactionType; allUsers.scrollTop = 0 |
183 | 176 | " |
184 | 177 | > |
185 | | - {{ getEmojiByReaction(selectedReactionType!) }} |
| 178 | + <span class="emoji str-chat__message-reaction-emoji"> |
| 179 | + {{ getEmojiByReaction(reactionType) }} |
| 180 | + </span> |
| 181 | + <span class="str-chat__message-reaction-count"> |
| 182 | + {{ messageReactionCounts[reactionType] }} |
| 183 | + </span> |
186 | 184 | </div> |
187 | | - <div |
188 | | - #allUsers |
189 | | - data-testid="all-reacting-users" |
190 | | - class="str-chat__message-reactions-details-reacting-users" |
191 | | - > |
192 | | - <stream-loading-indicator |
193 | | - *ngIf="isLoading; else reactions" |
194 | | - ></stream-loading-indicator> |
195 | | - <ng-template #reactions> |
196 | | - <div |
197 | | - class="str-chat__message-reactions-details-reacting-user" |
198 | | - *ngFor=" |
199 | | - let user of getAllUsersByReaction(selectedReactionType); |
200 | | - trackBy: trackByUserId |
201 | | - " |
| 185 | + </div> |
| 186 | + <div |
| 187 | + class=" |
| 188 | + emoji |
| 189 | + str-chat__message-reaction-emoji str-chat__message-reaction-emoji-big |
| 190 | + " |
| 191 | + > |
| 192 | + {{ getEmojiByReaction(selectedReactionType!) }} |
| 193 | + </div> |
| 194 | + <div |
| 195 | + #allUsers |
| 196 | + data-testid="all-reacting-users" |
| 197 | + class="str-chat__message-reactions-details-reacting-users" |
| 198 | + > |
| 199 | + <stream-loading-indicator |
| 200 | + *ngIf="isLoading; else reactions" |
| 201 | + ></stream-loading-indicator> |
| 202 | + <ng-template #reactions> |
| 203 | + <div |
| 204 | + class="str-chat__message-reactions-details-reacting-user" |
| 205 | + *ngFor=" |
| 206 | + let user of getAllUsersByReaction(selectedReactionType); |
| 207 | + trackBy: trackByUserId |
| 208 | + " |
| 209 | + > |
| 210 | + <stream-avatar-placeholder |
| 211 | + data-testclass="avatar" |
| 212 | + class="str-chat__avatar str-chat__avatar--circle" |
| 213 | + style="max-height: 100%; overflow-y: hidden" |
| 214 | + [size]="30" |
| 215 | + [imageUrl]="user.image" |
| 216 | + [name]="user.name" |
| 217 | + type="user" |
| 218 | + location="reaction" |
| 219 | + [user]="user" |
| 220 | + ></stream-avatar-placeholder> |
| 221 | + <span |
| 222 | + data-testclass="reaction-user-username" |
| 223 | + class="str-chat__user-item--name" |
| 224 | + >{{ user.name }}</span |
202 | 225 | > |
203 | | - <stream-avatar-placeholder |
204 | | - data-testclass="avatar" |
205 | | - class="str-chat__avatar str-chat__avatar--circle" |
206 | | - style="max-height: 100%; overflow-y: hidden" |
207 | | - [size]="30" |
208 | | - [imageUrl]="user.image" |
209 | | - [name]="user.name" |
210 | | - type="user" |
211 | | - location="reaction" |
212 | | - [user]="user" |
213 | | - ></stream-avatar-placeholder> |
214 | | - <span |
215 | | - data-testclass="reaction-user-username" |
216 | | - class="str-chat__user-item--name" |
217 | | - >{{ user.name }}</span |
218 | | - > |
219 | | - </div> |
220 | | - </ng-template> |
221 | | - </div> |
| 226 | + </div> |
| 227 | + </ng-template> |
222 | 228 | </div> |
223 | | - </stream-modal> |
| 229 | + </div> |
224 | 230 | </ng-template> |
0 commit comments