From 8f7347d57ee6657d308eff873107bf9b8970676e Mon Sep 17 00:00:00 2001 From: Bubobubobubobubo Date: Sun, 27 Aug 2023 22:11:19 +0000 Subject: [PATCH] deploy: 44d1c5e201a9c696b4d9f17be590d1d03e96d355 --- assets/{index-0461379b.js => index-9f49ee53.js} | 2 +- index.html | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) rename assets/{index-0461379b.js => index-9f49ee53.js} (99%) diff --git a/assets/index-0461379b.js b/assets/index-9f49ee53.js similarity index 99% rename from assets/index-0461379b.js rename to assets/index-9f49ee53.js index 6e2df50..2badb2e 100644 --- a/assets/index-0461379b.js +++ b/assets/index-9f49ee53.js @@ -1298,4 +1298,4 @@ https://github.com/highlightjs/highlight.js/issues/2277`),ue=G,ce=Z),z===void 0&
  • ${i}

    -
  • `}),r=r+"",e.innerHTML=r});this.universes={...Rh,...this.settings.universes},this.selected_universe="Welcome",this.universe_viewer.innerHTML=`Topos: ${this.selected_universe}`;let e=e_[Math.floor(Math.random()*e_.length)];this.universes[this.selected_universe].global.committed=e,this.universes[this.selected_universe].global.candidate=e,this.audioContext=new AudioContext({latencyHint:"playback"}),this.clock=new yk(this,this.audioContext),this.api=new MM(this),PM(this.api),this.vimModeCompartment=new Xn,this.withLineNumbers=new Xn,this.chosenLanguage=new Xn,this.fontSize=new Xn;const t=this.settings.vimMode?Uc():[],r=this.settings.line_numbers?ng():[],i=Ae.theme({"&":{fontSize:`${this.settings.font_size}px`},".cm-gutters":{fontSize:`${this.settings.font_size}px`}});this.editorExtensions=[this.withLineNumbers.of(r),this.fontSize.of(i),this.vimModeCompartment.of(t),_k,iw,this.chosenLanguage.of(ph()),Ae.updateListener.of(c=>{})];let a=new Xn;(async()=>{await zS()})(),this.docs=YS(this),document.addEventListener("keydown",c=>{c.key==="Tab"&&c.preventDefault(),c.ctrlKey&&c.key==="s"&&(c.preventDefault(),this.setButtonHighlighting("pause",!0),this.clock.pause()),c.ctrlKey&&c.key==="r"&&(c.preventDefault(),this.setButtonHighlighting("stop",!0),this.clock.stop()),c.ctrlKey&&c.key==="p"&&(c.preventDefault(),this.setButtonHighlighting("play",!0),this.clock.start()),(c.key==="v"||c.key==="V")&&c.ctrlKey&&c.shiftKey&&(this.settings.vimMode=!this.settings.vimMode,c.preventDefault(),this.userPlugins=this.settings.vimMode?[]:[Uc()],this.view.dispatch({effects:a.reconfigure(this.userPlugins)})),(c.key==="Enter"||c.key==="Return")&&c.ctrlKey&&(c.preventDefault(),this.currentFile().candidate=this.view.state.doc.toString(),this.flashBackground("#2d313d",200)),(c.key==="Enter"&&c.shiftKey||c.key==="e"&&c.ctrlKey)&&(c.preventDefault(),this.currentFile().candidate=this.view.state.doc.toString(),this.flashBackground("#2d313d",200)),c.ctrlKey&&c.key==="b"&&(this.hideDocumentation(),this.updateKnownUniversesView(),this.openBuffersModal()),c.shiftKey&&c.key==="Escape"&&this.openSettingsModal(),c.ctrlKey&&c.key==="l"&&(c.preventDefault(),this.changeModeFromInterface("local"),this.hideDocumentation(),this.view.focus()),c.ctrlKey&&c.key==="n"&&(c.preventDefault(),this.changeModeFromInterface("notes"),this.hideDocumentation(),this.view.focus()),c.ctrlKey&&c.key==="g"&&(c.preventDefault(),this.changeModeFromInterface("global"),this.hideDocumentation(),this.view.focus()),c.ctrlKey&&c.key==="i"&&(c.preventDefault(),this.changeModeFromInterface("init"),this.hideDocumentation(),this.changeToLocalBuffer(0),this.view.focus()),c.ctrlKey&&c.key==="d"&&(c.preventDefault(),this.showDocumentation()),[112,113,114,115,116,117,118,119,120].forEach((d,p)=>{c.keyCode===d&&(c.preventDefault(),c.ctrlKey?this.api.script(d-111):(this.changeModeFromInterface("local"),this.changeToLocalBuffer(p),this.hideDocumentation()))}),c.keyCode==121&&(this.changeModeFromInterface("global"),this.hideDocumentation()),c.keyCode==122&&(this.changeModeFromInterface("init"),this.hideDocumentation())});const o=document.querySelectorAll('[id^="tab-"]');for(let c=0;c{o[c].classList.add("bg-orange-300");for(let g=0;g{c.addEventListener("click",()=>{this.isPlaying?(this.setButtonHighlighting("pause",!0),this.isPlaying=!this.isPlaying,this.clock.pause()):(this.setButtonHighlighting("play",!0),this.isPlaying=!this.isPlaying,this.clock.start())})}),this.clear_buttons.forEach(c=>{c.addEventListener("click",()=>{this.setButtonHighlighting("clear",!0),confirm("Do you want to reset the current universe?")&&(this.universes[this.selected_universe]=BS,this.updateEditorView())})}),this.documentation_button.addEventListener("click",()=>{this.showDocumentation()}),this.load_universe_button.addEventListener("click",()=>{let c=this.buffer_search.value;c.length>2&&c.length<20&&!c.includes(" ")&&(this.loadUniverse(c),this.settings.selected_universe=c,this.buffer_search.value="",this.closeBuffersModal(),this.view.focus())}),this.eval_button.addEventListener("click",()=>{this.currentFile().candidate=this.view.state.doc.toString(),this.flashBackground("#2d313d",200)}),this.stop_buttons.forEach(c=>{c.addEventListener("click",()=>{this.setButtonHighlighting("stop",!0),this.clock.stop()})}),this.local_button.addEventListener("click",()=>this.changeModeFromInterface("local")),this.global_button.addEventListener("click",()=>this.changeModeFromInterface("global")),this.init_button.addEventListener("click",()=>this.changeModeFromInterface("init")),this.note_button.addEventListener("click",()=>this.changeModeFromInterface("notes")),this.settings_button.addEventListener("click",()=>{var p;this.font_size_slider.value=this.settings.font_size.toString(),this.font_size_witness.innerHTML=`Font Size: ${this.settings.font_size}px`,(p=this.font_size_witness)==null||p.setAttribute("style",`font-size: ${this.settings.font_size}px;`),this.line_numbers_checkbox.checked=this.settings.line_numbers;let c=document.getElementById("modal-settings"),d=document.getElementById("editor");c==null||c.classList.remove("invisible"),d==null||d.classList.add("invisible")}),this.close_settings_button.addEventListener("click",()=>{let c=document.getElementById("modal-settings"),d=document.getElementById("editor");c==null||c.classList.add("invisible"),d==null||d.classList.remove("invisible")}),this.font_size_slider.addEventListener("input",()=>{const c=this.font_size_slider.value;this.settings.font_size=parseInt(c),this.font_size_witness.style.fontSize=`${c}px`,this.font_size_witness.innerHTML=`Font Size: ${c}px`;let d=Ae.theme({"&":{fontSize:c+"px"},".cm-gutters":{fontSize:c+"px"}});this.view.dispatch({effects:this.fontSize.reconfigure(d)}),this.settings.font_size=parseInt(c)}),this.share_button.addEventListener("click",()=>{this.currentFile().candidate=nn.view.state.doc.toString(),this.currentFile().committed=nn.view.state.doc.toString(),this.settings.saveApplicationToLocalStorage(nn.universes,nn.settings),this.share()}),this.normal_mode_button.addEventListener("click",()=>{this.settings.vimMode=!1,this.view.dispatch({effects:this.vimModeCompartment.reconfigure([])})}),this.line_numbers_checkbox.addEventListener("change",()=>{let c=!!this.line_numbers_checkbox.checked;this.settings.line_numbers=c,this.view.dispatch({effects:this.withLineNumbers.reconfigure(c?[ng()]:[])})}),this.vim_mode_button.addEventListener("click",()=>{this.settings.vimMode=!0,this.view.dispatch({effects:this.vimModeCompartment.reconfigure(Uc())})}),this.buffer_search.addEventListener("keydown",c=>{if(c.key==="Enter"){let d=this.buffer_search.value;d.length>2&&d.length<20&&(this.loadUniverse(d),this.settings.selected_universe=d,this.buffer_search.value="",this.closeBuffersModal(),this.view.focus())}}),Us(this,this.universes[this.selected_universe.toString()].init),["introduction","interface","code","time","sound","samples","synths","patterns","midi","functions","reference","shortcuts","about"].forEach(c=>{let d="docs_"+c;document.getElementById(d).addEventListener("click",async()=>{d!=="docs_samples"?(this.currentDocumentationPane=c,this.updateDocumentationContent()):(console.log("Loading samples!"),await zS().then(()=>{this.docs=YS(this),this.currentDocumentationPane=c,this.updateDocumentationContent()}))})}),Object.entries(this.api).forEach(([c,d])=>{globalThis[c]=d}),this.state=ut.create({extensions:[...this.editorExtensions,Ae.lineWrapping,a.of(this.userPlugins),Jn.highest(Xi.of([{key:"Ctrl-Enter",run:()=>!0}])),Xi.of([fL])],doc:this.universes[this.selected_universe].global.candidate}),this.view=new Ae({parent:document.getElementById("editor"),state:this.state}),this.changeModeFromInterface("global");let l=new URLSearchParams(window.location.search);if(l!==void 0){let c;if(l!==null){const d=l.get("universe");if(d!==null){c=JSON.parse(atob(d));const p=CA({length:2,separator:"_",dictionaries:[yA,vA]});this.loadUniverse(p,c.universe),this.emptyUrl()}}}}get note_buffer(){return this.universes[this.selected_universe.toString()].notes}get global_buffer(){return this.universes[this.selected_universe.toString()].global}get init_buffer(){return this.universes[this.selected_universe.toString()].init}get local_buffer(){return this.universes[this.selected_universe.toString()].locals[this.local_index]}share(){const e=btoa(JSON.stringify({universe:this.settings.universes[this.selected_universe]})),t=new URL(window.location.href);t.searchParams.set("universe",e),window.history.replaceState({},"",t.toString()),navigator.clipboard.writeText(t.toString())}showDocumentation(){var e,t,r,i,a;(e=document.getElementById("app"))!=null&&e.classList.contains("hidden")?((t=document.getElementById("app"))==null||t.classList.remove("hidden"),(r=document.getElementById("documentation"))==null||r.classList.add("hidden")):((i=document.getElementById("app"))==null||i.classList.add("hidden"),(a=document.getElementById("documentation"))==null||a.classList.remove("hidden"),this.updateDocumentationContent())}hideDocumentation(){var e,t,r;(e=document.getElementById("app"))!=null&&e.classList.contains("hidden")&&((t=document.getElementById("app"))==null||t.classList.remove("hidden"),(r=document.getElementById("documentation"))==null||r.classList.add("hidden"))}updateDocumentationContent(){const t=new tA.Converter({emoji:!0,moreStyling:!0,backslashEscapesHTMLTags:!0,extensions:[pF({auto_detection:!0}),...fF]}).makeHtml(this.docs[this.currentDocumentationPane]);document.getElementById("documentation-content").innerHTML=t}changeToLocalBuffer(e){const t=document.querySelectorAll('[id^="tab-"]'),r=t[e];r.classList.add("bg-orange-300");for(let a=0;a{t.forEach(a=>{let s=a.children[0];s.classList.contains("text-orange-300")&&(s.classList.remove("text-orange-300"),a.classList.remove("text-orange-300"))}),i.children[0].classList.remove("text-white"),i.children[0].classList.add("text-orange-300"),i.classList.add("text-orange-300")};switch(e){case"local":this.local_script_tabs.classList.contains("hidden")&&this.local_script_tabs.classList.remove("hidden"),this.editor_mode="local",this.local_index=0,this.changeToLocalBuffer(this.local_index),r(this.local_button);break;case"global":this.local_script_tabs.classList.contains("hidden")||this.local_script_tabs.classList.add("hidden"),this.editor_mode="global",r(this.global_button);break;case"init":this.local_script_tabs.classList.contains("hidden")||this.local_script_tabs.classList.add("hidden"),this.editor_mode="init",r(this.init_button);break;case"notes":this.local_script_tabs.classList.contains("hidden")||this.local_script_tabs.classList.add("hidden"),this.editor_mode="notes",r(this.note_button);break}this.view.dispatch({effects:this.chosenLanguage.reconfigure(this.editor_mode=="notes"?[ix()]:[ph()])}),this.updateEditorView()}setButtonHighlighting(e,t){document.getElementById("play-label").textContent=e!=="pause"?"Pause":"Play",e!=="pause"?(document.getElementById("pause-icon").classList.remove("hidden"),document.getElementById("play-icon").classList.add("hidden")):(document.getElementById("pause-icon").classList.add("hidden"),document.getElementById("play-icon").classList.remove("hidden")),e==="stop"&&(this.isPlaying==!1,document.getElementById("play-label").textContent="Play",document.getElementById("pause-icon").classList.add("hidden"),document.getElementById("play-icon").classList.remove("hidden")),this.flashBackground("#2d313d",200);const r=['[id^="play-button-"]','[id^="clear-button-"]','[id^="stop-button-"]'];let i;switch(e){case"play":i=0;break;case"pause":i=1;break;case"clear":i=2;break;case"stop":i=3;break}document.querySelectorAll(r[i]).forEach(a=>{t&&a.children[0].classList.add("animate-pulse")}),document.querySelectorAll(r.filter((a,s)=>s!=i).join(",")).forEach(a=>{a.children[0].classList.remove("animate-pulse"),a.children[1].classList.remove("animate-pulse")})}unfocusPlayButtons(){document.querySelectorAll('[id^="play-button-"]').forEach(e=>{e.children[0].classList.remove("fill-orange-300"),e.children[0].classList.remove("animate-pulse")})}updateEditorView(){this.view.dispatch({changes:{from:0,to:this.view.state.doc.toString().length,insert:this.currentFile().candidate}})}currentFile(){switch(this.editor_mode){case"global":return this.global_buffer;case"local":return this.local_buffer;case"init":return this.init_buffer;case"notes":return this.note_buffer}}loadUniverse(e,t=BS){console.log(e,t),this.currentFile().candidate=this.view.state.doc.toString();let r=e.trim();this.universes[r]===void 0&&(this.settings.universes[r]=t,this.universes[r]=t),this.selected_universe=r,this.settings.selected_universe=this.selected_universe,this.universe_viewer.innerHTML=`Topos: ${r}`,this.updateEditorView(),Us(this,this.universes[this.selected_universe.toString()].init)}openSettingsModal(){document.getElementById("modal-settings").classList.contains("invisible")?(document.getElementById("editor").classList.add("invisible"),document.getElementById("modal-settings").classList.remove("invisible")):this.closeSettingsModal()}closeSettingsModal(){document.getElementById("editor").classList.remove("invisible"),document.getElementById("modal-settings").classList.add("invisible")}openBuffersModal(){document.getElementById("modal-buffers").classList.contains("invisible")?(document.getElementById("editor").classList.add("invisible"),document.getElementById("modal-buffers").classList.remove("invisible"),document.getElementById("buffer-search").focus()):this.closeBuffersModal()}closeBuffersModal(){document.getElementById("buffer-search").value="",document.getElementById("editor").classList.remove("invisible"),document.getElementById("modal-buffers").classList.add("invisible")}flashBackground(e,t){this.view.dom.style.backgroundColor=e;const r=this.view.dom.getElementsByClassName("cm-gutter");Array.from(r).forEach(i=>i.style.backgroundColor=e),setTimeout(()=>{this.view.dom.style.backgroundColor="",Array.from(r).forEach(i=>i.style.backgroundColor="")},t)}}const nn=new hF;window.addEventListener("beforeunload",()=>(event.preventDefault(),nn.currentFile().candidate=nn.view.state.doc.toString(),nn.currentFile().committed=nn.view.state.doc.toString(),nn.settings.saveApplicationToLocalStorage(nn.universes,nn.settings),nn.clock.stop(),null)); +`}),r=r+"",e.innerHTML=r});this.universes={...Rh,...this.settings.universes},this.selected_universe="Welcome",this.universe_viewer.innerHTML=`Topos: ${this.selected_universe}`;let e=e_[Math.floor(Math.random()*e_.length)];this.universes[this.selected_universe].global.committed=e,this.universes[this.selected_universe].global.candidate=e,this.audioContext=new AudioContext({latencyHint:"playback"}),this.clock=new yk(this,this.audioContext),this.api=new MM(this),PM(this.api),this.vimModeCompartment=new Xn,this.withLineNumbers=new Xn,this.chosenLanguage=new Xn,this.fontSize=new Xn;const t=this.settings.vimMode?Uc():[],r=this.settings.line_numbers?ng():[],i=Ae.theme({"&":{fontSize:`${this.settings.font_size}px`},".cm-gutters":{fontSize:`${this.settings.font_size}px`}});this.editorExtensions=[this.withLineNumbers.of(r),this.fontSize.of(i),this.vimModeCompartment.of(t),_k,iw,this.chosenLanguage.of(ph()),Ae.updateListener.of(c=>{})];let a=new Xn;(async()=>{await zS()})(),this.docs=YS(this),document.addEventListener("keydown",c=>{c.key==="Tab"&&c.preventDefault(),c.ctrlKey&&c.key==="s"&&(c.preventDefault(),this.setButtonHighlighting("pause",!0),this.clock.pause()),c.ctrlKey&&c.key==="r"&&(c.preventDefault(),this.setButtonHighlighting("stop",!0),this.clock.stop()),c.ctrlKey&&c.key==="p"&&(c.preventDefault(),this.setButtonHighlighting("play",!0),this.clock.start()),(c.key==="v"||c.key==="V")&&c.ctrlKey&&c.shiftKey&&(this.settings.vimMode=!this.settings.vimMode,c.preventDefault(),this.userPlugins=this.settings.vimMode?[]:[Uc()],this.view.dispatch({effects:a.reconfigure(this.userPlugins)})),(c.key==="Enter"||c.key==="Return")&&c.ctrlKey&&(c.preventDefault(),this.currentFile().candidate=this.view.state.doc.toString(),this.flashBackground("#2d313d",200)),(c.key==="Enter"&&c.shiftKey||c.key==="e"&&c.ctrlKey)&&(c.preventDefault(),this.currentFile().candidate=this.view.state.doc.toString(),this.flashBackground("#2d313d",200)),c.ctrlKey&&c.key==="b"&&(this.hideDocumentation(),this.updateKnownUniversesView(),this.openBuffersModal()),c.shiftKey&&c.key==="Escape"&&this.openSettingsModal(),c.ctrlKey&&c.key==="l"&&(c.preventDefault(),this.changeModeFromInterface("local"),this.hideDocumentation(),this.view.focus()),c.ctrlKey&&c.key==="n"&&(c.preventDefault(),this.changeModeFromInterface("notes"),this.hideDocumentation(),this.view.focus()),c.ctrlKey&&c.key==="g"&&(c.preventDefault(),this.changeModeFromInterface("global"),this.hideDocumentation(),this.view.focus()),c.ctrlKey&&c.key==="i"&&(c.preventDefault(),this.changeModeFromInterface("init"),this.hideDocumentation(),this.changeToLocalBuffer(0),this.view.focus()),c.ctrlKey&&c.key==="d"&&(c.preventDefault(),this.showDocumentation()),[112,113,114,115,116,117,118,119,120].forEach((d,p)=>{c.keyCode===d&&(c.preventDefault(),c.ctrlKey?this.api.script(d-111):(this.changeModeFromInterface("local"),this.changeToLocalBuffer(p),this.hideDocumentation()))}),c.keyCode==121&&(this.changeModeFromInterface("global"),this.hideDocumentation()),c.keyCode==122&&(this.changeModeFromInterface("init"),this.hideDocumentation())});const o=document.querySelectorAll('[id^="tab-"]');for(let c=0;c{o[c].classList.add("bg-orange-300");for(let g=0;g{c.addEventListener("click",()=>{this.isPlaying?(this.setButtonHighlighting("pause",!0),this.isPlaying=!this.isPlaying,this.clock.pause()):(this.setButtonHighlighting("play",!0),this.isPlaying=!this.isPlaying,this.clock.start())})}),this.clear_buttons.forEach(c=>{c.addEventListener("click",()=>{this.setButtonHighlighting("clear",!0),confirm("Do you want to reset the current universe?")&&(this.universes[this.selected_universe]=BS,this.updateEditorView())})}),this.documentation_button.addEventListener("click",()=>{this.showDocumentation()}),this.load_universe_button.addEventListener("click",()=>{let c=this.buffer_search.value;c.length>2&&c.length<20&&!c.includes(" ")&&(this.loadUniverse(c),this.settings.selected_universe=c,this.buffer_search.value="",this.closeBuffersModal(),this.view.focus())}),this.eval_button.addEventListener("click",()=>{this.currentFile().candidate=this.view.state.doc.toString(),this.flashBackground("#2d313d",200)}),this.stop_buttons.forEach(c=>{c.addEventListener("click",()=>{this.setButtonHighlighting("stop",!0),this.clock.stop()})}),this.local_button.addEventListener("click",()=>this.changeModeFromInterface("local")),this.global_button.addEventListener("click",()=>this.changeModeFromInterface("global")),this.init_button.addEventListener("click",()=>this.changeModeFromInterface("init")),this.note_button.addEventListener("click",()=>this.changeModeFromInterface("notes")),this.settings_button.addEventListener("click",()=>{var p;this.font_size_slider.value=this.settings.font_size.toString(),this.font_size_witness.innerHTML=`Font Size: ${this.settings.font_size}px`,(p=this.font_size_witness)==null||p.setAttribute("style",`font-size: ${this.settings.font_size}px;`),this.line_numbers_checkbox.checked=this.settings.line_numbers;let c=document.getElementById("modal-settings"),d=document.getElementById("editor");c==null||c.classList.remove("invisible"),d==null||d.classList.add("invisible")}),this.close_settings_button.addEventListener("click",()=>{let c=document.getElementById("modal-settings"),d=document.getElementById("editor");c==null||c.classList.add("invisible"),d==null||d.classList.remove("invisible")}),this.font_size_slider.addEventListener("input",()=>{const c=this.font_size_slider.value;this.settings.font_size=parseInt(c),this.font_size_witness.style.fontSize=`${c}px`,this.font_size_witness.innerHTML=`Font Size: ${c}px`;let d=Ae.theme({"&":{fontSize:c+"px"},".cm-gutters":{fontSize:c+"px"}});this.view.dispatch({effects:this.fontSize.reconfigure(d)}),this.settings.font_size=parseInt(c)}),this.share_button.addEventListener("click",()=>{this.currentFile().candidate=nn.view.state.doc.toString(),this.currentFile().committed=nn.view.state.doc.toString(),this.settings.saveApplicationToLocalStorage(nn.universes,nn.settings),this.share()}),this.normal_mode_button.addEventListener("click",()=>{this.settings.vimMode=!1,this.view.dispatch({effects:this.vimModeCompartment.reconfigure([])})}),this.line_numbers_checkbox.addEventListener("change",()=>{let c=!!this.line_numbers_checkbox.checked;this.settings.line_numbers=c,this.view.dispatch({effects:this.withLineNumbers.reconfigure(c?[ng()]:[])})}),this.vim_mode_button.addEventListener("click",()=>{this.settings.vimMode=!0,this.view.dispatch({effects:this.vimModeCompartment.reconfigure(Uc())})}),this.buffer_search.addEventListener("keydown",c=>{if(c.key==="Enter"){let d=this.buffer_search.value;d.length>2&&d.length<20&&(this.loadUniverse(d),this.settings.selected_universe=d,this.buffer_search.value="",this.closeBuffersModal(),this.view.focus())}}),Us(this,this.universes[this.selected_universe.toString()].init),["introduction","interface","code","time","sound","samples","synths","patterns","midi","functions","reference","shortcuts","about"].forEach(c=>{let d="docs_"+c;document.getElementById(d).addEventListener("click",async()=>{d!=="docs_samples"?(this.currentDocumentationPane=c,this.updateDocumentationContent()):(console.log("Loading samples!"),await zS().then(()=>{this.docs=YS(this),this.currentDocumentationPane=c,this.updateDocumentationContent()}))})}),Object.entries(this.api).forEach(([c,d])=>{globalThis[c]=d}),this.state=ut.create({extensions:[...this.editorExtensions,Ae.lineWrapping,a.of(this.userPlugins),Jn.highest(Xi.of([{key:"Ctrl-Enter",run:()=>!0}])),Xi.of([fL])],doc:this.universes[this.selected_universe].global.candidate}),this.view=new Ae({parent:document.getElementById("editor"),state:this.state}),this.changeModeFromInterface("global");let l=new URLSearchParams(window.location.search);if(l!==void 0){let c;if(l!==null){const d=l.get("universe");if(d!==null){c=JSON.parse(atob(d));const p=CA({length:2,separator:"_",dictionaries:[yA,vA]});this.loadUniverse(p,c.universe),this.emptyUrl()}}}}get note_buffer(){return this.universes[this.selected_universe.toString()].notes}get global_buffer(){return this.universes[this.selected_universe.toString()].global}get init_buffer(){return this.universes[this.selected_universe.toString()].init}get local_buffer(){return this.universes[this.selected_universe.toString()].locals[this.local_index]}share(){const e=btoa(JSON.stringify({universe:this.settings.universes[this.selected_universe]})),t=new URL(window.location.href);t.searchParams.set("universe",e),window.history.replaceState({},"",t.toString()),navigator.clipboard.writeText(t.toString())}showDocumentation(){var e,t,r,i,a;(e=document.getElementById("app"))!=null&&e.classList.contains("hidden")?((t=document.getElementById("app"))==null||t.classList.remove("hidden"),(r=document.getElementById("documentation"))==null||r.classList.add("hidden")):((i=document.getElementById("app"))==null||i.classList.add("hidden"),(a=document.getElementById("documentation"))==null||a.classList.remove("hidden"),this.updateDocumentationContent())}hideDocumentation(){var e,t,r;(e=document.getElementById("app"))!=null&&e.classList.contains("hidden")&&((t=document.getElementById("app"))==null||t.classList.remove("hidden"),(r=document.getElementById("documentation"))==null||r.classList.add("hidden"))}updateDocumentationContent(){const t=new tA.Converter({emoji:!0,moreStyling:!0,backslashEscapesHTMLTags:!0,extensions:[pF({auto_detection:!0}),...fF]}).makeHtml(this.docs[this.currentDocumentationPane]);document.getElementById("documentation-content").innerHTML=t}changeToLocalBuffer(e){const t=document.querySelectorAll('[id^="tab-"]'),r=t[e];r.classList.add("bg-orange-300");for(let a=0;a{t.forEach(a=>{let s=a.children[0];s.classList.contains("text-orange-300")&&(s.classList.remove("text-orange-300"),a.classList.remove("text-orange-300"))}),i.children[0].classList.remove("text-white"),i.children[0].classList.add("text-orange-300"),i.classList.add("text-orange-300"),i.classList.add("fill-orange-300")};switch(e){case"local":this.local_script_tabs.classList.contains("hidden")&&this.local_script_tabs.classList.remove("hidden"),this.editor_mode="local",this.local_index=0,this.changeToLocalBuffer(this.local_index),r(this.local_button);break;case"global":this.local_script_tabs.classList.contains("hidden")||this.local_script_tabs.classList.add("hidden"),this.editor_mode="global",r(this.global_button);break;case"init":this.local_script_tabs.classList.contains("hidden")||this.local_script_tabs.classList.add("hidden"),this.editor_mode="init",r(this.init_button);break;case"notes":this.local_script_tabs.classList.contains("hidden")||this.local_script_tabs.classList.add("hidden"),this.editor_mode="notes",r(this.note_button);break}this.view.dispatch({effects:this.chosenLanguage.reconfigure(this.editor_mode=="notes"?[ix()]:[ph()])}),this.updateEditorView()}setButtonHighlighting(e,t){document.getElementById("play-label").textContent=e!=="pause"?"Pause":"Play",e!=="pause"?(document.getElementById("pause-icon").classList.remove("hidden"),document.getElementById("play-icon").classList.add("hidden")):(document.getElementById("pause-icon").classList.add("hidden"),document.getElementById("play-icon").classList.remove("hidden")),e==="stop"&&(this.isPlaying==!1,document.getElementById("play-label").textContent="Play",document.getElementById("pause-icon").classList.add("hidden"),document.getElementById("play-icon").classList.remove("hidden")),this.flashBackground("#2d313d",200);const r=['[id^="play-button-"]','[id^="clear-button-"]','[id^="stop-button-"]'];let i;switch(e){case"play":i=0;break;case"pause":i=1;break;case"clear":i=2;break;case"stop":i=3;break}document.querySelectorAll(r[i]).forEach(a=>{t&&a.children[0].classList.add("animate-pulse")}),document.querySelectorAll(r.filter((a,s)=>s!=i).join(",")).forEach(a=>{a.children[0].classList.remove("animate-pulse"),a.children[1].classList.remove("animate-pulse")})}unfocusPlayButtons(){document.querySelectorAll('[id^="play-button-"]').forEach(e=>{e.children[0].classList.remove("fill-orange-300"),e.children[0].classList.remove("animate-pulse")})}updateEditorView(){this.view.dispatch({changes:{from:0,to:this.view.state.doc.toString().length,insert:this.currentFile().candidate}})}currentFile(){switch(this.editor_mode){case"global":return this.global_buffer;case"local":return this.local_buffer;case"init":return this.init_buffer;case"notes":return this.note_buffer}}loadUniverse(e,t=BS){console.log(e,t),this.currentFile().candidate=this.view.state.doc.toString();let r=e.trim();this.universes[r]===void 0&&(this.settings.universes[r]=t,this.universes[r]=t),this.selected_universe=r,this.settings.selected_universe=this.selected_universe,this.universe_viewer.innerHTML=`Topos: ${r}`,this.updateEditorView(),Us(this,this.universes[this.selected_universe.toString()].init)}openSettingsModal(){document.getElementById("modal-settings").classList.contains("invisible")?(document.getElementById("editor").classList.add("invisible"),document.getElementById("modal-settings").classList.remove("invisible")):this.closeSettingsModal()}closeSettingsModal(){document.getElementById("editor").classList.remove("invisible"),document.getElementById("modal-settings").classList.add("invisible")}openBuffersModal(){document.getElementById("modal-buffers").classList.contains("invisible")?(document.getElementById("editor").classList.add("invisible"),document.getElementById("modal-buffers").classList.remove("invisible"),document.getElementById("buffer-search").focus()):this.closeBuffersModal()}closeBuffersModal(){document.getElementById("buffer-search").value="",document.getElementById("editor").classList.remove("invisible"),document.getElementById("modal-buffers").classList.add("invisible")}flashBackground(e,t){this.view.dom.style.backgroundColor=e;const r=this.view.dom.getElementsByClassName("cm-gutter");Array.from(r).forEach(i=>i.style.backgroundColor=e),setTimeout(()=>{this.view.dom.style.backgroundColor="",Array.from(r).forEach(i=>i.style.backgroundColor="")},t)}}const nn=new hF;window.addEventListener("beforeunload",()=>(event.preventDefault(),nn.currentFile().candidate=nn.view.state.doc.toString(),nn.currentFile().committed=nn.view.state.doc.toString(),nn.settings.saveApplicationToLocalStorage(nn.universes,nn.settings),nn.clock.stop(),null)); diff --git a/index.html b/index.html index bc8c628..2d276d3 100644 --- a/index.html +++ b/index.html @@ -6,7 +6,7 @@ Topos - +