From d487bf298b360ee6b2200784d11b7203eab50df0 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Wed, 30 Oct 2024 12:54:10 +0900 Subject: [PATCH] Add drag & drop import --- src/App.svelte | 18 ++++++++++++++++-- src/ts/characterCards.ts | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/App.svelte b/src/App.svelte index df929112..64248b3d 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -8,7 +8,7 @@ import GridChars from './lib/Others/GridCatalog.svelte'; import WelcomeRisu from './lib/Others/WelcomeRisu.svelte'; import Settings from './lib/Setting/Settings.svelte'; - import { showRealmInfoStore } from './ts/characterCards'; + import { showRealmInfoStore, importCharacterProcess } from './ts/characterCards'; import RealmFrame from './lib/UI/Realm/RealmFrame.svelte'; import { AccountWarning } from './ts/storage/accountStorage'; import AccountWarningComp from './lib/Others/AccountWarningComp.svelte'; @@ -18,6 +18,7 @@ import MobileBody from './lib/Mobile/MobileBody.svelte'; import MobileFooter from './lib/Mobile/MobileFooter.svelte'; import CustomGUISettingMenu from './lib/Setting/Pages/CustomGUISettingMenu.svelte'; + import { checkCharOrder } from './ts/globalApi'; let didFirstSetup: boolean = $derived(DBState.db?.didFirstSetup) @@ -25,7 +26,20 @@ -
+
{ + e.preventDefault() + e.dataTransfer.dropEffect = 'link' +}} ondrop={async (e) => { + e.preventDefault() + const file = e.dataTransfer.files[0] + if (file) { + await importCharacterProcess({ + name: file.name, + data: file + }) + checkCharOrder() + } +}}> {#if !$loadedStore}
diff --git a/src/ts/characterCards.ts b/src/ts/characterCards.ts index 83667f66..af35d453 100644 --- a/src/ts/characterCards.ts +++ b/src/ts/characterCards.ts @@ -41,7 +41,7 @@ export async function importCharacter() { } } -async function importCharacterProcess(f:{ +export async function importCharacterProcess(f:{ name: string; data: Uint8Array|File|ReadableStream }) {