迁移聊天动作选择入口

This commit is contained in:
2026-04-25 19:52:03 +08:00
parent 17d1885efc
commit f0269c7c17
3 changed files with 33 additions and 14 deletions
+4 -2
View File
@@ -67,7 +67,7 @@ export { bindDailySignInControls } from "./chat-room/daily-sign-in.js";
export { bindEarnPanelControls, createEarnPanelData } from "./chat-room/earn-panel.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 { bindChatComposerControls } from "./chat-room/composer.js";
export { bindChatComposerControls, setChatComposerAction } from "./chat-room/composer.js";
export { bindChatToast } from "./chat-room/toast.js";
export { bindFriendPanelControls, closeFriendPanel, friendSearch, loadFriends, openFriendPanel, quickFriendAction } from "./chat-room/friend-panel.js";
export { bindFriendNotificationControls, setupBannerNotification, setupFriendNotification, showFriendBanner } from "./chat-room/friend-notifications.js";
@@ -269,7 +269,7 @@ import { bindDailySignInControls } from "./chat-room/daily-sign-in.js";
import { bindEarnPanelControls, createEarnPanelData } from "./chat-room/earn-panel.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 { bindChatComposerControls } from "./chat-room/composer.js";
import { bindChatComposerControls, setChatComposerAction } from "./chat-room/composer.js";
import { bindChatToast } from "./chat-room/toast.js";
import { bindFriendPanelControls, closeFriendPanel, friendSearch, loadFriends, openFriendPanel, quickFriendAction } from "./chat-room/friend-panel.js";
import { bindFriendNotificationControls, setupBannerNotification, setupFriendNotification, showFriendBanner } from "./chat-room/friend-notifications.js";
@@ -489,6 +489,7 @@ if (typeof window !== "undefined") {
bindChatFontSizeControl,
bindChatImageUploadControl,
bindChatComposerControls,
setChatComposerAction,
bindChatToast,
bindFriendPanelControls,
bindFriendNotificationControls,
@@ -702,6 +703,7 @@ if (typeof window !== "undefined") {
window.isExpiredChatImageMessage = isExpiredChatImageMessage;
window.localClearScreen = localClearScreen;
window.normalizeSafeChatUrl = normalizeSafeChatUrl;
window.setAction = setChatComposerAction;
window.syncAutoScrollControls = syncAutoScrollControls;
window.openChatImageLightbox = openChatImageLightbox;
window.closeFriendPanel = closeFriendPanel;
+29
View File
@@ -27,3 +27,32 @@ export function bindChatComposerControls() {
}
});
}
/**
* 设置聊天动作并把焦点带回输入框。
* 该入口兼容旧模板可能存在的 `setAction(...)` 调用,切换右侧标签仍交给 Blade 里的 switchTab 处理。
*
* @param {string} action 动作名称
* @param {(tab:string) => void} switchTabHandler 右侧标签切换函数
* @returns {void}
*/
export function setChatComposerAction(
action,
switchTabHandler = typeof window !== "undefined" ? window.switchTab : null,
) {
const actionSelect = document.getElementById("action");
const contentInput = document.getElementById("content");
if (actionSelect) {
actionSelect.value = action;
}
// 右侧在线名单切换仍在 Blade 主脚本内,模块只通过兼容入口调用。
if (typeof switchTabHandler === "function") {
switchTabHandler("users");
}
if (contentInput) {
contentInput.focus();
}
}
@@ -1743,18 +1743,6 @@
}
});
// ── 动作选择 ──────────────────────────────────────
/**
* 设置发言动作并聚焦输入框
*
* @param {string} act 动作名称
*/
function setAction(act) {
document.getElementById('action').value = act;
switchTab('users');
document.getElementById('content').focus();
}
// ── 自动滚屏 ──────────────────────────────────────
const autoScrollEl = document.getElementById('auto_scroll');
if (autoScrollEl) {