From 83a7484d8c684a0baecc263cc61dccb194355c91 Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Sat, 8 Nov 2025 19:44:29 -0800 Subject: [PATCH] Delete sidebars.js --- src/components/sidebars.js | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 src/components/sidebars.js diff --git a/src/components/sidebars.js b/src/components/sidebars.js deleted file mode 100644 index da1bb94..0000000 --- a/src/components/sidebars.js +++ /dev/null @@ -1,10 +0,0 @@ -import{el,icons}from'../lib/dom.js';import{esc}from'../lib/utils.js';import{SUNE,renderSuneHTML}from'../core/sune.js';import{THREAD}from'../core/thread.js';import{state,clearChat}from'../core/state.js';import{setBtnSend,msgRow,renderMarkdown,partsToText}from'./message.js';import{hideThreadPopover,hideSunePopover,showThreadPopover,showSunePopover}from'./popovers.js';import{reflectActiveSune}from'../main.js';import{updateAttachBadge}from'./composer.js'; -const suneRow=a=>`
` -export const renderSidebar=window.renderSidebar=()=>{const list=[...SUNE.list].sort((a,b)=>(b.pinned-a.pinned));el.suneList.innerHTML=list.map(suneRow).join('');icons()} -const threadRow=t=>`
` -let sortedThreads=[],isAddingThreads=false;const THREAD_PAGE_SIZE=50; -export async function renderThreads(){sortedThreads=[...THREAD.list].sort((a,b)=>(b.pinned-a.pinned)||(b.updatedAt-a.updatedAt));el.threadList.innerHTML=sortedThreads.slice(0,THREAD_PAGE_SIZE).map(threadRow).join('');el.threadList.scrollTop=0;isAddingThreads=false;icons()} -export function initSidebars(){$(el.suneList).on('click',async e=>{const menuBtn=e.target.closest('[data-sune-menu]');if(menuBtn){e.stopPropagation();showSunePopover(menuBtn,menuBtn.getAttribute('[data-sune-menu]')?menuBtn.getAttribute('[data-sune-menu]'):menuBtn.getAttribute('data-sune-menu'));return}const btn=e.target.closest('[data-sune-id]');if(!btn)return;const id=btn.getAttribute('data-sune-id');if(id){if(state.busy){state.controller?.disconnect?.();setBtnSend();state.busy=false;state.controller=null};SUNE.setActive(id);renderSidebar();await reflectActiveSune();state.currentThreadId=null;clearChat();updateAttachBadge();document.getElementById('sidebarLeft').classList.add('-translate-x-full');document.getElementById('sidebarOverlayLeft').classList.add('hidden')}}) -$(el.threadList).on('click',async e=>{const openBtn=e.target.closest('[data-open-thread]'),menuBtn=e.target.closest('[data-thread-menu]');if(openBtn){const id=openBtn.getAttribute('data-open-thread');if(id!==state.currentThreadId&&state.busy){state.controller?.disconnect?.();setBtnSend();state.busy=false;state.controller=null}const th=THREAD.get(id);if(!th)return;if(id===state.currentThreadId){el.sidebarRight.classList.add('translate-x-full');el.sidebarOverlayRight.classList.add('hidden');hideThreadPopover();return}state.currentThreadId=id;clearChat();updateAttachBadge();state.messages=Array.isArray(th.messages)?[...th.messages]:[];for(const m of state.messages){const b=msgRow(m);b.dataset.mid=m.id||'';renderMarkdown(b,partsToText(m.content))}await renderSuneHTML();queueMicrotask(()=>el.chat.scrollTo({top:el.chat.scrollHeight,behavior:'smooth'}));el.sidebarRight.classList.add('translate-x-full');el.sidebarOverlayRight.classList.add('hidden');hideThreadPopover();return}if(menuBtn){e.stopPropagation();showThreadPopover(menuBtn,menuBtn.getAttribute('[data-thread-menu]')?menuBtn.getAttribute('[data-thread-menu]'):menuBtn.getAttribute('data-thread-menu'))}}) -$(el.threadList).on('scroll',()=>{if(isAddingThreads||el.threadList.scrollTop+el.threadList.clientHeight=sortedThreads.length)return;isAddingThreads=true;const b=sortedThreads.slice(c,c+THREAD_PAGE_SIZE);if(b.length){el.threadList.insertAdjacentHTML('beforeend',b.map(threadRow).join(''));icons()}isAddingThreads=false;}); -$(el.sidebarBtnRight).on('click',()=>{renderThreads();el.sidebarRight.classList.remove('translate-x-full');el.sidebarOverlayRight.classList.remove('hidden')})}