Changeset 0.22.10 (#152)
This commit is contained in:
@@ -377,6 +377,12 @@ function _cleanStaleChatModel(chatId) {
|
||||
}
|
||||
}
|
||||
|
||||
/** Close the new-chat dropdown and reset any fixed positioning from collapsed mode. */
|
||||
function closeNewChatMenu() {
|
||||
const dd = document.getElementById('newChatDropdown');
|
||||
if (dd) { dd.classList.remove('open'); dd.style.cssText = ''; }
|
||||
}
|
||||
|
||||
async function newChat() {
|
||||
clearStaged(); // Discard any staged files
|
||||
App.currentChatId = null;
|
||||
@@ -822,7 +828,21 @@ async function switchSibling(messageId, direction) {
|
||||
function _initChatListeners() {
|
||||
// Sidebar
|
||||
document.getElementById('sidebarToggle').addEventListener('click', UI.toggleSidebar);
|
||||
document.getElementById('newChatBtn').addEventListener('click', newChat);
|
||||
document.getElementById('newChatBtn').addEventListener('click', (e) => {
|
||||
const sidebar = document.querySelector('.sidebar');
|
||||
if (sidebar && sidebar.classList.contains('collapsed')) {
|
||||
// Collapsed: show the dropdown menu, positioned to pop out right
|
||||
const dd = document.getElementById('newChatDropdown');
|
||||
const rect = e.currentTarget.getBoundingClientRect();
|
||||
dd.style.position = 'fixed';
|
||||
dd.style.left = rect.right + 4 + 'px';
|
||||
dd.style.top = rect.top + 'px';
|
||||
dd.style.width = '200px';
|
||||
dd.classList.toggle('open');
|
||||
} else {
|
||||
newChat();
|
||||
}
|
||||
});
|
||||
|
||||
// Split button dropdown
|
||||
document.getElementById('newChatDropBtn').addEventListener('click', (e) => {
|
||||
@@ -831,7 +851,9 @@ function _initChatListeners() {
|
||||
});
|
||||
document.addEventListener('click', (e) => {
|
||||
if (!e.target.closest('.split-btn')) {
|
||||
document.getElementById('newChatDropdown').classList.remove('open');
|
||||
const dd = document.getElementById('newChatDropdown');
|
||||
dd.classList.remove('open');
|
||||
dd.style.cssText = ''; // Reset any fixed positioning from collapsed mode
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user