diff --git a/package-lock.json b/package-lock.json index 9f88d85..1049339 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "code", "version": "0.0.1", "dependencies": { - "@inlang/paraglide-sveltekit": "^0.15.5", + "@inlang/paraglide-sveltekit": "0.15.5", "@libsql/client": "^0.14.0", "@node-rs/argon2": "^2.0.2", "@oslojs/crypto": "^1.0.1", @@ -21,6 +21,7 @@ "devDependencies": { "@eslint/compat": "^1.2.5", "@eslint/js": "^9.18.0", + "@inlang/paraglide-js": "1.11.8", "@playwright/test": "^1.49.1", "@sveltejs/adapter-auto": "^4.0.0", "@sveltejs/kit": "^2.16.0", diff --git a/package.json b/package.json index 421a5e1..36e6cf1 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "devDependencies": { "@eslint/compat": "^1.2.5", "@eslint/js": "^9.18.0", + "@inlang/paraglide-js": "1.11.8", "@playwright/test": "^1.49.1", "@sveltejs/adapter-auto": "^4.0.0", "@sveltejs/kit": "^2.16.0", @@ -49,8 +50,7 @@ "typescript-eslint": "^8.20.0", "vite": "^6.0.0", "vitest": "^3.0.0", - "zod": "^3.24.1", - "@inlang/paraglide-js": "1.11.8" + "zod": "^3.24.1" }, "dependencies": { "@inlang/paraglide-sveltekit": "0.15.5", diff --git a/src/components/import/import.svelte b/src/components/import/import.svelte index 7790cf1..024bb1e 100644 --- a/src/components/import/import.svelte +++ b/src/components/import/import.svelte @@ -23,16 +23,18 @@ }; let importing = false; let progress = 0; - const handleImport = () => { + const handleImport = async () => { importing = true; const l: List = { name: form.name, type: form.type ? 1 : 0, updated: new Date() }; - createShortformList(l); - form.textarea.split('\n').forEach((sf, i, sfs) => { - progress = 100 * (i / sfs.length); - if (Math.random() > 0.8) { - setTimeout(() => {}, 125); + const listid = await createShortformList(l); + let sfs = [] + form.textarea.split('\n').forEach((line) => { + const fields = line.split("=") + if (fields.length == 2) { + sfs.push({shortform: fields[0], phrase: fields[1], used: 0, listid: listid}) } }); + importShortforms(sfs) }; const cancelImport = () => { importState.data = ''; diff --git a/src/components/textarea.svelte b/src/components/textarea.svelte index f1f5926..d527fba 100644 --- a/src/components/textarea.svelte +++ b/src/components/textarea.svelte @@ -6,9 +6,28 @@ import { getCurrentWord, insertExpandedPhrase, insertText } from '$lib/textarea/main'; import { cacheShortforms, expandShortform } from '../modules/shortforms'; import { defaultExpanders } from '../modules/keyboard'; - import type { Shortform } from '../db/main'; - import AccordionTrigger from '$lib/components/ui/accordion/accordion-trigger.svelte'; + import { db, type Shortform } from '../db/main'; + import { liveQuery } from "dexie"; + import * as Select from "$lib/components/ui/select/index.js"; + + let styles = { + "text-bg": "#333333", + "text-fg": "#baff00", + } + + $: cssVarStyles = Object.entries(styles) + .map(([key, value]) => `--${key}:${value}`) + .join(';'); + + $: standardLists = liveQuery( async () => { + return await db.lists.toArray() + } + ) + let selectedStandardList = {} + const selectedStandardListChanged = (v) => { + shortforms.cache = cacheShortforms([Number(v.value)]); + } let state = { capitalizeNext: true, currentWord: '' @@ -78,8 +97,24 @@ */ -