- group writes when computing separators positions - shows skeleton only on initial load - forces date separator to be pinned when first message to prevent a pinned - not pinned - pinned sequence when loading more in past - relies on `message.visible` property instead of checking `isElementInViewport` - attempts to load next/prev messages earlier - do not scroll to on fetch more - hides `last visit` text while pinned
29 lines
996 B
Handlebars
29 lines
996 B
Handlebars
<div class="chat-skeleton -animation">
|
|
{{#each this.placeholders as |placeholder|}}
|
|
<div class="chat-skeleton__body">
|
|
<div class="chat-skeleton__message">
|
|
<div class="chat-skeleton__message-avatar"></div>
|
|
<div class="chat-skeleton__message-poster"></div>
|
|
<div class="chat-skeleton__message-content">
|
|
{{#if placeholder.image}}
|
|
<div class="chat-skeleton__message-img"></div>
|
|
{{/if}}
|
|
|
|
<div class="chat-skeleton__message-text">
|
|
{{#each placeholder.rows as |row|}}
|
|
<div class="chat-skeleton__message-msg" style={{row}}></div>
|
|
{{/each}}
|
|
</div>
|
|
|
|
{{#if placeholder.reactions}}
|
|
<div class="chat-skeleton__message-reactions">
|
|
{{#each placeholder.reactions}}
|
|
<div class="chat-skeleton__message-reaction"></div>
|
|
{{/each}}
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{/each}}
|
|
</div> |