From cc083ae92a2e1fe66ae08439381a45c511483c35 Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Tue, 2 Sep 2025 22:04:12 -0700 Subject: [PATCH] Update index.html via Sune --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 2b9554f..f1b6351 100644 --- a/index.html +++ b/index.html @@ -162,7 +162,7 @@ const SUNE=window.SUNE=new Proxy({get list(){return sunes},get id(){return su.ge if(!sunes.length){const def=SUNE.create({name:'Default'});SUNE.setActive(def.id)} const state={messages:[],busy:false,controller:null,currentThreadId:null,abortRequested:false,attachments:[],stream:{rid:null,bubble:null,meta:null,text:'',done:false}} const getModelShort=m=>{const mm=m||SUNE.model||'';return mm.includes('/')?mm.split('/').pop():mm} -const renderSuneHTML=async()=>{const c=[SUNE.html,SUNE.extension_html].map(x=>(x||'').trim()).join('\n'),m=el.suneHtml;m.classList.toggle('hidden',!c);if(!c){m.innerHTML='';return}const doc=new DOMParser().parseFromString(`${c}`,'text/html');for(const t of[...doc.querySelectorAll('sune[src]')]){try{const d=await(await fetch(t.getAttribute('src'))).json(),s=(Array.isArray(d)?d[0]:d?.sunes?.[0]||d)||{},h=[s?.settings?.html||'',s?.settings?.extension_html||''].join('\n').trim();if(h)t.replaceWith(doc.createRange().createContextualFragment(h));else t.remove()}catch{t.remove()}}m.innerHTML=doc.body.innerHTML;m.querySelectorAll('script').forEach(s=>{const n=document.createElement('script');[...s.attributes].forEach(a=>n.setAttribute(a.name,a.value));n.text=s.text;s.replaceWith(n)})} +const renderSuneHTML=async()=>{const m=el.suneHtml;let finalHtml=[SUNE.html,SUNE.extension_html].map(x=>(x||'').trim()).join('\n');m.classList.toggle('hidden',!finalHtml);if(!finalHtml){m.innerHTML='';return}const tempDoc=new DOMParser().parseFromString(finalHtml,'text/html');const suneTags=[...tempDoc.querySelectorAll('sune[src]')];for(const tag of suneTags){const src=tag.getAttribute('src');const outerHTML=tag.outerHTML;try{const res=await fetch(src);const data=await res.json();const suneData=(Array.isArray(data)?data[0]:data?.sunes?.[0]||data)||{};const replacementHtml=[suneData?.settings?.html||'',suneData?.settings?.extension_html||''].join('\n').trim();finalHtml=finalHtml.replace(outerHTML,replacementHtml||'')}catch{finalHtml=finalHtml.replace(outerHTML,'')}}m.innerHTML=finalHtml;m.querySelectorAll('script').forEach(s=>{const n=document.createElement('script');[...s.attributes].forEach(a=>n.setAttribute(a.name,a.value));n.text=s.text;s.replaceWith(n)})} const reflectActiveSune=async()=>{const a=SUNE.active;el.suneBtnTop.title=`Settings — ${a.name}`;el.suneBtnTop.innerHTML=a.avatar?``:'✺';icons();await renderSuneHTML()} const suneRow=a=>`
` const renderSidebar=()=>{const list=[...SUNE.list].sort((a,b)=>(b.pinned-a.pinned));el.suneList.innerHTML=list.map(suneRow).join('');icons()}