diff --git a/package-lock.json b/package-lock.json index cc4f83a..9968abe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "@oslojs/encoding": "^1.1.0", "@tauri-apps/api": "^2.2.0", "dexie": "^4.0.11", + "svelte-outside": "^0.0.3", "svelte-radix": "^2.0.1" }, "devDependencies": { @@ -6845,6 +6846,12 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/svelte-outside": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/svelte-outside/-/svelte-outside-0.0.3.tgz", + "integrity": "sha512-4mJttaDRXkBBL+8JqjfA1P5Ny64qmkZL3x5zELAW3tqehic3LLHvPNDcGAk8PVRooM2qUym9Oz3TfA9lO4OctA==", + "license": "MIT" + }, "node_modules/svelte-radix": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/svelte-radix/-/svelte-radix-2.0.1.tgz", diff --git a/package.json b/package.json index 750378b..0d3cd7d 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "@oslojs/encoding": "^1.1.0", "@tauri-apps/api": "^2.2.0", "dexie": "^4.0.11", + "svelte-outside": "^0.0.3", "svelte-radix": "^2.0.1" } } diff --git a/src/components/create.svelte b/src/components/create.svelte index 8f1cb57..8a89709 100644 --- a/src/components/create.svelte +++ b/src/components/create.svelte @@ -1,6 +1,7 @@ - - - Lägg till förkortning - - - -
-
- - -
-
- - -
-
- - - - - +
+ + + Lägg till förkortning + + + + +
+ + +
+
+ + +
+
+ + + + + - - {#each selectedLists as list} - {list.name} - {/each} - - -
- {#if abbForm.errors.length > 0} - - - - {/if} -
diff --git a/src/components/import/import.svelte b/src/components/import/import.svelte index 7da5764..64e1e86 100644 --- a/src/components/import/import.svelte +++ b/src/components/import/import.svelte @@ -16,8 +16,8 @@ import { importDefaultShortforms, importShortforms } from '../../db/import'; import { createShortformList, type List } from '../../db/main'; - import { ScrollArea } from "$lib/components/ui/scroll-area/index.js"; - + import { ScrollArea } from '$lib/components/ui/scroll-area/index.js'; + $: form = { textarea: '', name: '', @@ -26,35 +26,48 @@ let importing = false; let progress = 0; const handleImport = async () => { - importState.errors = [] - if (form.textarea == "") { - console.error("no name error") - importState.errors.push("Importfältet är tomt") - return + importState.errors = []; + if (form.textarea == '') { + console.error('no name error'); + importState.errors.push('Importfältet är tomt'); + return; } - if (form.name == "") { - console.error("no name error") - importState.errors.push("Du måste döpa förkortningslistan till något") - return + if (form.name == '') { + console.error('no name error'); + importState.errors.push('Du måste döpa förkortningslistan till något'); + return; } importing = true; const l: List = { name: form.name, type: form.type ? 1 : 0, updated: new Date() }; const listid = await createShortformList(l); - let sfs = [] - form.textarea.split('\n').forEach((line) => { - const fields = line.split("=") + let sfs = []; + const lines = form.textarea.split('\n'); + for (let i = 0; i < lines.length; i += 1) { + const fields = lines[i].split('='); if (fields.length == 2) { - sfs.push({shortform: fields[0], phrase: fields[1], used: 0, listid: listid}) + sfs.push({ shortform: fields[0], phrase: fields[1], used: 0, listid: listid }); + setTimeout(() => { + progress = ((i + 1) / lines.length) * 100; + }, 1); } - }); - importShortforms(sfs) + } + importShortforms(sfs); + goto('/'); }; + const cancelImport = () => { importState.data = ''; importState.errors = []; - importState.name = ""; - appState.open = "" + importState.name = ''; + appState.open = ''; }; + + const onsubmit = (e) => { + e.preventDefault(); + console.log('yooo'); + handleImport(); + }; + const importDefaultList = () => { importState.data = ''; importState.errors = []; @@ -62,6 +75,7 @@ importState.data += sf.sf + '=' + sf.p + '\n'; }); }; + onMount(() => { form.textarea = importState.data; }); @@ -73,7 +87,7 @@ Nån annan hjälptext. -
+
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 37e1b72..0a29c6b 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -51,8 +51,8 @@
{/if} +
-