diff --git a/src/lib/Others/ChatList.svelte b/src/lib/Others/ChatList.svelte index 8a46c6bd..5f7c2343 100644 --- a/src/lib/Others/ChatList.svelte +++ b/src/lib/Others/ChatList.svelte @@ -65,7 +65,7 @@ const cha = $CurrentCharacter const len = $CurrentCharacter.chats.length let chats = $CurrentCharacter.chats - chats.push({ + chats.unshift({ message:[], note:'', name:`New Chat ${len + 1}`, localLore:[] }) if(cha.type === 'group'){ diff --git a/src/lib/SideBars/LoreBook/LoreBookList.svelte b/src/lib/SideBars/LoreBook/LoreBookList.svelte index c459c97e..f65e26b4 100644 --- a/src/lib/SideBars/LoreBook/LoreBookList.svelte +++ b/src/lib/SideBars/LoreBook/LoreBookList.svelte @@ -4,7 +4,7 @@ import { CurrentChat, CurrentCharacter } from "src/ts/stores"; import Sortable from 'sortablejs/modular/sortable.core.esm.js'; import { onDestroy, onMount } from "svelte"; - import { sleep } from "src/ts/util"; + import { sleep, sortableOptions } from "src/ts/util"; export let globalMode = false export let submenu = 0 @@ -44,10 +44,11 @@ sorted += 1 await sleep(1) createStb() - } + }, + ...sortableOptions }) } - // onMount(createStb) + onMount(createStb) let opened = 0 @@ -59,9 +60,9 @@ } const onClose = () => { opened -= 1 - // if(opened === 0){ - // createStb() - // } + if(opened === 0){ + createStb() + } } onDestroy(() => { diff --git a/src/lib/SideBars/Scripts/RegexList.svelte b/src/lib/SideBars/Scripts/RegexList.svelte index 78b79a35..f2b684b4 100644 --- a/src/lib/SideBars/Scripts/RegexList.svelte +++ b/src/lib/SideBars/Scripts/RegexList.svelte @@ -2,7 +2,7 @@ import type { customscript } from "src/ts/storage/database"; import RegexData from "./RegexData.svelte"; import Sortable from "sortablejs"; - import { sleep } from "src/ts/util"; + import { sleep, sortableOptions } from "src/ts/util"; import { onDestroy, onMount } from "svelte"; export let value:customscript[] = [] let stb: Sortable = null @@ -25,7 +25,8 @@ sorted += 1 await sleep(1) createStb() - } + }, + ...sortableOptions }) } @@ -37,12 +38,12 @@ } const onClose = () => { opened -= 1 - // if(opened === 0){ - // createStb() - // } + if(opened === 0){ + createStb() + } } - // onMount(createStb) + onMount(createStb) onDestroy(() => { if(stb){ diff --git a/src/lib/SideBars/SideChatList.svelte b/src/lib/SideBars/SideChatList.svelte index 09a4e899..e570f503 100644 --- a/src/lib/SideBars/SideChatList.svelte +++ b/src/lib/SideBars/SideChatList.svelte @@ -1,5 +1,5 @@
@@ -35,10 +77,10 @@ chara.chats = chats chara.chatPage = 0 }}>New Chat -
- +
+ {#key sorted} {#each chara.chats as chat, i} -
- {/each} + {/each} + {/key}
diff --git a/src/ts/characters.ts b/src/ts/characters.ts index f94025f3..ff7fd1d4 100644 --- a/src/ts/characters.ts +++ b/src/ts/characters.ts @@ -232,7 +232,7 @@ export async function importChat(){ return } - db.characters[selectedID].chats.push(newChat) + db.characters[selectedID].chats.unshift(newChat) setDatabase(db) alertNormal(language.successImport) } @@ -241,7 +241,7 @@ export async function importChat(){ if(json.type === 'risuChat' && json.ver === 1){ const das:Chat = json.data if(!(checkNullish(das.message) || checkNullish(das.note) || checkNullish(das.name) || checkNullish(das.localLore))){ - db.characters[selectedID].chats.push(das) + db.characters[selectedID].chats.unshift(das) setDatabase(db) alertNormal(language.successImport) return diff --git a/src/ts/util.ts b/src/ts/util.ts index 03c90bac..7dccb2f8 100644 --- a/src/ts/util.ts +++ b/src/ts/util.ts @@ -987,4 +987,9 @@ export function parseKeyValue(template:string){ } return keyValue -} \ No newline at end of file +} + +export const sortableOptions = { + delay: 300, // time in milliseconds to define when the sorting should start + delayOnTouchOnly: true +} as const \ No newline at end of file