70 lines
2.4 KiB
HTML
70 lines
2.4 KiB
HTML
<div class="chat-layout relative h-full">
|
|
<app-chat-message-list
|
|
[allMessages]="allMessages()"
|
|
[channelMessages]="channelMessages()"
|
|
[loading]="loading()"
|
|
[syncing]="syncing()"
|
|
[currentUserId]="currentUser()?.id ?? null"
|
|
[isAdmin]="isAdmin()"
|
|
[bottomPadding]="composerBottomPadding()"
|
|
[conversationKey]="conversationKey()"
|
|
(replyRequested)="setReplyTo($event)"
|
|
(deleteRequested)="handleDeleteRequested($event)"
|
|
(editSaved)="handleEditSaved($event)"
|
|
(reactionAdded)="handleReactionAdded($event)"
|
|
(reactionToggled)="handleReactionToggled($event)"
|
|
(downloadRequested)="downloadAttachment($event)"
|
|
(imageOpened)="openLightbox($event)"
|
|
(imageContextMenuRequested)="openImageContextMenu($event)"
|
|
(embedRemoved)="handleEmbedRemoved($event)"
|
|
/>
|
|
|
|
<div class="chat-bottom-bar absolute bottom-0 left-0 right-0 z-10">
|
|
<app-chat-message-composer
|
|
[replyTo]="replyTo()"
|
|
[showKlipyGifPicker]="showKlipyGifPicker()"
|
|
(messageSubmitted)="handleMessageSubmitted($event)"
|
|
(typingStarted)="handleTypingStarted()"
|
|
(replyCleared)="clearReply()"
|
|
(heightChanged)="handleComposerHeightChanged($event)"
|
|
(klipyGifPickerToggleRequested)="toggleKlipyGifPicker()"
|
|
/>
|
|
</div>
|
|
|
|
@if (showKlipyGifPicker()) {
|
|
<div
|
|
class="fixed inset-0 z-[89]"
|
|
(click)="closeKlipyGifPicker()"
|
|
(keydown.enter)="closeKlipyGifPicker()"
|
|
(keydown.space)="closeKlipyGifPicker()"
|
|
tabindex="0"
|
|
role="button"
|
|
aria-label="Close GIF picker"
|
|
style="-webkit-app-region: no-drag"
|
|
></div>
|
|
|
|
<div class="pointer-events-none fixed inset-0 z-[90]">
|
|
<div
|
|
class="pointer-events-auto absolute w-[calc(100vw-2rem)] max-w-5xl sm:w-[34rem] md:w-[42rem] xl:w-[52rem]"
|
|
[style.bottom.px]="composerBottomPadding() + 8"
|
|
[style.right.px]="klipyGifPickerAnchorRight()"
|
|
>
|
|
<app-klipy-gif-picker
|
|
(gifSelected)="handleKlipyGifSelected($event)"
|
|
(closed)="closeKlipyGifPicker()"
|
|
/>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
<app-chat-message-overlays
|
|
[lightboxAttachment]="lightboxAttachment()"
|
|
[imageContextMenu]="imageContextMenu()"
|
|
(lightboxClosed)="closeLightbox()"
|
|
(contextMenuClosed)="closeImageContextMenu()"
|
|
(downloadRequested)="downloadAttachment($event)"
|
|
(copyRequested)="copyImageToClipboard($event)"
|
|
(imageContextMenuRequested)="openImageContextMenu($event)"
|
|
/>
|
|
</div>
|