31 lines
978 B
JavaScript
31 lines
978 B
JavaScript
import { toggleSidebar, dom } from './state.js';
|
|
import { initSessions, createNewChat } from './sessions.js';
|
|
import { loadPersonas, initPersonaModals } from './personas.js';
|
|
import { sendMessage, clearHistory } from './chat.js';
|
|
|
|
document.getElementById('sidebarToggle').addEventListener('click', () => {
|
|
const open = toggleSidebar();
|
|
document.getElementById('sidebar').classList.toggle('collapsed', !open);
|
|
});
|
|
|
|
document.getElementById('newChatBtn').addEventListener('click', createNewChat);
|
|
|
|
dom.inputEl.addEventListener('input', () => {
|
|
dom.inputEl.style.height = 'auto';
|
|
dom.inputEl.style.height = dom.inputEl.scrollHeight + 'px';
|
|
});
|
|
|
|
dom.inputEl.addEventListener('keydown', (e) => {
|
|
if (e.key === 'Enter' && !e.shiftKey) {
|
|
e.preventDefault();
|
|
sendMessage();
|
|
}
|
|
});
|
|
|
|
dom.sendBtn.addEventListener('click', sendMessage);
|
|
dom.clearBtn.addEventListener('click', clearHistory);
|
|
|
|
initPersonaModals();
|
|
await initSessions();
|
|
loadPersonas();
|