// 聊天室 Vite 入口,集中导出从 Blade 内联脚本迁移出的纯前端工具。 export { escapeHtml, escapeHtmlWithLineBreaks } from "./chat-room/html.js"; export { applyFontSize, bindChatFontSizeControl, CHAT_FONT_SIZE_STORAGE_KEY, restoreChatFontSize } from "./chat-room/font-size.js"; export { bindChatImageUploadControl } from "./chat-room/image-upload.js"; export { closeChatImageLightbox, initChatImageLightboxEvents, openChatImageLightbox } from "./chat-room/lightbox.js"; export { bindMobileDrawerControls } from "./chat-room/mobile-drawer.js"; export { bindWelcomeMenuControls } from "./chat-room/welcome-menu.js"; export { BLOCKABLE_SYSTEM_SENDERS, BLOCKED_SYSTEM_SENDERS_STORAGE_KEY, CHAT_SOUND_MUTED_STORAGE_KEY, bindBlockMenuControls, bindSoundMuteControl, isSoundMuted, loadBlockedSystemSenders, normalizeChatPreferences, normalizeDailyStatus, parseDailyStatusExpiry, persistBlockedSystemSenders, setSoundMuted, shouldMigrateLocalChatPreferences, } from "./chat-room/preferences-status.js"; export { bindChatRightPanelControls } from "./chat-room/right-panel.js"; export { normalizeRoomStatus, renderRoomStatusRow, renderRoomsOnlineStatus, renderRoomsOnlineStatusToContainer, resolveRoomUrl, } from "./chat-room/rooms.js"; export { createMessageQueue } from "./chat-room/message-queue.js"; import { escapeHtml, escapeHtmlWithLineBreaks } from "./chat-room/html.js"; import { applyFontSize, bindChatFontSizeControl, CHAT_FONT_SIZE_STORAGE_KEY, restoreChatFontSize } from "./chat-room/font-size.js"; import { bindChatImageUploadControl } from "./chat-room/image-upload.js"; import { closeChatImageLightbox, initChatImageLightboxEvents, openChatImageLightbox } from "./chat-room/lightbox.js"; import { bindMobileDrawerControls } from "./chat-room/mobile-drawer.js"; import { bindWelcomeMenuControls } from "./chat-room/welcome-menu.js"; import { BLOCKABLE_SYSTEM_SENDERS, BLOCKED_SYSTEM_SENDERS_STORAGE_KEY, CHAT_SOUND_MUTED_STORAGE_KEY, bindBlockMenuControls, bindSoundMuteControl, isSoundMuted, loadBlockedSystemSenders, normalizeChatPreferences, normalizeDailyStatus, parseDailyStatusExpiry, persistBlockedSystemSenders, setSoundMuted, shouldMigrateLocalChatPreferences, } from "./chat-room/preferences-status.js"; import { bindChatRightPanelControls } from "./chat-room/right-panel.js"; import { normalizeRoomStatus, renderRoomStatusRow, renderRoomsOnlineStatus, renderRoomsOnlineStatusToContainer, resolveRoomUrl, } from "./chat-room/rooms.js"; import { createMessageQueue } from "./chat-room/message-queue.js"; if (typeof window !== "undefined") { window.ChatRoomTools = { escapeHtml, escapeHtmlWithLineBreaks, applyFontSize, bindChatFontSizeControl, bindChatImageUploadControl, bindMobileDrawerControls, bindWelcomeMenuControls, CHAT_FONT_SIZE_STORAGE_KEY, restoreChatFontSize, closeChatImageLightbox, initChatImageLightboxEvents, openChatImageLightbox, BLOCKABLE_SYSTEM_SENDERS, BLOCKED_SYSTEM_SENDERS_STORAGE_KEY, CHAT_SOUND_MUTED_STORAGE_KEY, bindBlockMenuControls, bindSoundMuteControl, isSoundMuted, loadBlockedSystemSenders, normalizeChatPreferences, normalizeDailyStatus, parseDailyStatusExpiry, persistBlockedSystemSenders, setSoundMuted, shouldMigrateLocalChatPreferences, bindChatRightPanelControls, normalizeRoomStatus, renderRoomStatusRow, renderRoomsOnlineStatus, renderRoomsOnlineStatusToContainer, resolveRoomUrl, createMessageQueue, }; window.closeChatImageLightbox = closeChatImageLightbox; window.openChatImageLightbox = openChatImageLightbox; window.applyFontSize = applyFontSize; bindChatFontSizeControl(); bindChatImageUploadControl(); bindChatRightPanelControls(); bindMobileDrawerControls(); bindWelcomeMenuControls(); bindBlockMenuControls(); }