{ e.preventDefault() e.dataTransfer.dropEffect = 'move' e.currentTarget.classList.add('bg-green-500') }} on:dragleave={(e) => { e.currentTarget.classList.remove('bg-green-500') }} on:drop={(e) => { e.preventDefault() e.currentTarget.classList.remove('bg-green-500') const da = currentDrag if(da){ inserter(da,{index:0}) } }} on:dragenter={preventAll} /> {#if menuMode === 0} {#each charImages as char, ind}
{avatarDragStart({index:ind}, e)}} on:dragover={avatarDragOver} on:drop={(e) => {avatarDrop({index:ind}, e)}} on:dragenter={preventAll} on:contextmenu={preventAll} >
{ if(char.type === "normal"){ changeChar(char.index); } }} on:keydown={(e) => { if (e.key === "Enter") { if(char.type === "normal"){ changeChar(char.index); } } }} tabindex="0" > {#if char.type === 'normal'} {:else if char.type === "folder"} { if(char.type !== 'folder'){ return } if(openFolders.includes(char.id)){ openFolders.splice(openFolders.indexOf(char.id), 1) } else{ openFolders.push(char.id) } openFolders = openFolders }}> {#if openFolders.includes(char.id)} {:else} {/if} {/if}
{#if char.type === 'folder' && openFolders.includes(char.id)}
{ e.preventDefault() e.dataTransfer.dropEffect = 'move' e.currentTarget.classList.add('bg-green-500') }} on:dragleave={(e) => { e.currentTarget.classList.remove('bg-green-500') }} on:drop={(e) => { e.preventDefault() e.currentTarget.classList.remove('bg-green-500') const da = currentDrag if(da && char.type === 'folder'){ inserter(da,{index:0,folder:char.id}) } }} on:dragenter={preventAll}/> {#each char.folder as char2, ind}
{if(char.type === 'folder'){avatarDragStart({index: ind, folder:char.id}, e)}}} on:dragover={avatarDragOver} on:drop={(e) => {if(char.type === 'folder'){avatarDrop({index: ind, folder:char.id}, e)}}} on:dragenter={preventAll} on:contextmenu={preventAll} >
{ if(char2.type === "normal"){ changeChar(char2.index); } }} on:keydown={(e) => { if (e.key === "Enter") { if(char2.type === "normal"){ changeChar(char2.index); } } }} tabindex="0" >
{ e.preventDefault() e.dataTransfer.dropEffect = 'move' e.currentTarget.classList.add('bg-green-500') }} on:dragleave={(e) => { e.currentTarget.classList.remove('bg-green-500') }} on:drop={(e) => { e.preventDefault() e.currentTarget.classList.remove('bg-green-500') const da = currentDrag if(da && char.type === 'folder'){ inserter(da,{index:ind+1,folder:char.id}) } }} on:dragenter={preventAll}/> {/each}
{/if}
{ e.dataTransfer.dropEffect = 'move' e.currentTarget.classList.add('bg-green-500') }} on:dragleave={(e) => { e.currentTarget.classList.remove('bg-green-500') }} on:drop={(e) => { e.preventDefault() e.currentTarget.classList.remove('bg-green-500') const da = currentDrag if(da){ inserter(da,{index:ind+1}) } }} on:dragenter={preventAll} /> {/each}
{ if (sideBarMode === 1) { reseter(); sideBarMode = 0; } else { reseter(); sideBarMode = 1; } }} >
{:else} { if ($settingsOpen) { reseter(); settingsOpen.set(false); } else { reseter(); settingsOpen.set(true); } }}>
{ reseter(); openGrid(); }}> {/if}
1000} > {#if sideBarMode === 0} {#if $selectedCharID < 0 || $settingsOpen}

Welcome to RisuAI!

Select a bot to start chating
{:else} {/if} {:else if sideBarMode === 1}

Create

Edit

{/if}
{#if openPresetList} { openPresetList = false; }} /> {/if}