/**
* Lightbox - 图片预览组件
*/
let lightboxEl: HTMLElement, lightboxImg: HTMLImageElement;
export function initLightbox(): void {
lightboxEl = document.querySelector('#lightbox')!;
lightboxImg = document.querySelector('#lightboxImg')!;
lightboxEl.addEventListener('click', (e) => {
if (e.target === lightboxEl) closeLightbox();
});
document.querySelector('#lightboxClose')!.addEventListener('click', closeLightbox);
document.querySelector('#messagesContainer')?.addEventListener('click', (e) => {
const target = e.target as HTMLElement;
if ((target as HTMLImageElement).dataset.lightbox === 'true') {
openLightbox((target as HTMLImageElement).src);
}
});
}
export function openLightbox(src: string): void {
lightboxImg.src = src;
lightboxEl.style.display = '';
}
export function closeLightbox(): void {
lightboxEl.style.display = 'none';
lightboxImg.src = '';
}