diff --git a/src/components/dashboard.svelte b/src/components/dashboard.svelte index e33ca5b..5aa2b89 100644 --- a/src/components/dashboard.svelte +++ b/src/components/dashboard.svelte @@ -1,4 +1,6 @@ @@ -29,7 +44,28 @@ Importera förkortningar - + +

+ Skrivert kan bara importera och exportera förkortningslistor i läsbart textformat.
+ Det finns ett verktyg för att konvertera listor och export-filer mellan olika format här: +
+ qwertyist.se/förkortingar/ +

+ +

+ Vill du inte importera en egen lista så kan du använda programmets baslista som i den + här versionen av programmet har {default_shortforms.shortforms.length} förkortningar.
+ Importera baslista +

+

+ Importera förkortningar +

+
Ändra inställningar @@ -39,8 +75,12 @@ Ge feedback eller rapportera fel Här ger man feedback eller rapporterar fel + + Koppla upp mot tolkanvändare + + - Börja skriva + Börja skrivtolka Man för börja skriva på en gång om man vill.
diff --git a/src/components/import/import.svelte b/src/components/import/import.svelte index e8cd1cf..7790cf1 100644 --- a/src/components/import/import.svelte +++ b/src/components/import/import.svelte @@ -1,4 +1,8 @@ -

- Skrivert kan bara importera och exportera förkortningslistor i läsbart textformat.
- Det finns ett verktyg för att konvertera listor och export-filer mellan olika format här:
- qwertyist.se/förkortingar/ -

- -

- Vill du inte importera en egen lista så kan du använda programmets baslista som i den här - versionen av programmet har {default_shortforms.shortforms.length} förkortningar.
- Importera baslista -

- -
-
- - -
-
- - -
-
- - -
-

{errors}

- -
- -{#if importing}{/if} + rows="5" + > + +
+ + +
+
+ + +
+

{importState.errors}

+ + + + + + + diff --git a/src/components/textarea.svelte b/src/components/textarea.svelte index bda1c2e..f1f5926 100644 --- a/src/components/textarea.svelte +++ b/src/components/textarea.svelte @@ -1,4 +1,5 @@ + +
+ +
diff --git a/src/lib/components/ui/card/card-description.svelte b/src/lib/components/ui/card/card-description.svelte new file mode 100644 index 0000000..f65821d --- /dev/null +++ b/src/lib/components/ui/card/card-description.svelte @@ -0,0 +1,13 @@ + + +

+ +

diff --git a/src/lib/components/ui/card/card-footer.svelte b/src/lib/components/ui/card/card-footer.svelte new file mode 100644 index 0000000..32f90bb --- /dev/null +++ b/src/lib/components/ui/card/card-footer.svelte @@ -0,0 +1,13 @@ + + +
+ +
diff --git a/src/lib/components/ui/card/card-header.svelte b/src/lib/components/ui/card/card-header.svelte new file mode 100644 index 0000000..9c65185 --- /dev/null +++ b/src/lib/components/ui/card/card-header.svelte @@ -0,0 +1,13 @@ + + +
+ +
diff --git a/src/lib/components/ui/card/card-title.svelte b/src/lib/components/ui/card/card-title.svelte new file mode 100644 index 0000000..099ae93 --- /dev/null +++ b/src/lib/components/ui/card/card-title.svelte @@ -0,0 +1,21 @@ + + + + + diff --git a/src/lib/components/ui/card/card.svelte b/src/lib/components/ui/card/card.svelte new file mode 100644 index 0000000..05aafae --- /dev/null +++ b/src/lib/components/ui/card/card.svelte @@ -0,0 +1,22 @@ + + + +
+ +
diff --git a/src/lib/components/ui/card/index.ts b/src/lib/components/ui/card/index.ts new file mode 100644 index 0000000..bcc031d --- /dev/null +++ b/src/lib/components/ui/card/index.ts @@ -0,0 +1,24 @@ +import Root from "./card.svelte"; +import Content from "./card-content.svelte"; +import Description from "./card-description.svelte"; +import Footer from "./card-footer.svelte"; +import Header from "./card-header.svelte"; +import Title from "./card-title.svelte"; + +export { + Root, + Content, + Description, + Footer, + Header, + Title, + // + Root as Card, + Content as CardContent, + Description as CardDescription, + Footer as CardFooter, + Header as CardHeader, + Title as CardTitle, +}; + +export type HeadingLevel = "h1" | "h2" | "h3" | "h4" | "h5" | "h6"; diff --git a/src/lib/stores.svelte.ts b/src/lib/stores.svelte.ts new file mode 100644 index 0000000..647042e --- /dev/null +++ b/src/lib/stores.svelte.ts @@ -0,0 +1,2 @@ +export const shortforms = $state({ standardList: "", subjectLists: [], cache: new Map() }) +export const importState = $state({ data: "", errors: [] }) diff --git a/src/modules/keyboard.ts b/src/modules/keyboard.ts index 04c9bb7..af0f502 100644 --- a/src/modules/keyboard.ts +++ b/src/modules/keyboard.ts @@ -1,6 +1,8 @@ +import { goto } from '$app/navigation'; import type { ExpanderType } from "./index.d.ts"; export const defaultExpanders: Map = new Map(); +export const hotkeys: Map = new Map(); defaultExpanders.set(" ", { key: { keyCode: 190, shiftKey: false }, @@ -72,3 +74,18 @@ defaultExpanders.set(";", { symbol: ":", fullstop: false, }); + +hotkeys.set("F1", { + action: (e) => { + e.preventDefault() + console.log("Open help page") + + } +}) +hotkeys.set("F12", { + action: (e) => { + e.preventDefault() + console.log("Open import page") + goto("/import") + } +}) diff --git a/src/modules/shortforms.ts b/src/modules/shortforms.ts index f989453..c73f874 100644 --- a/src/modules/shortforms.ts +++ b/src/modules/shortforms.ts @@ -1,6 +1,6 @@ import { db } from "../db/main" import { type Shortform } from "../db/main" -export function cacheShortforms(lists: Array = []) { +export function cacheShortforms(lists: Array = []) { let shortforms = new Map(); // console.log("Caching shortforms with lists:", lists); diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 82a1080..777d002 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -5,6 +5,8 @@ let { children } = $props(); - - {@render children()} - +
+ + {@render children()} + +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 0b6d48e..e6e2bf2 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -6,7 +6,9 @@ import { Button } from '$lib/components/ui/button'; + import { hotkeys } from '../modules/keyboard'; let cache: Array; + let showDashboard: boolean = true; db.shortforms .toArray() .then((shortforms) => { @@ -20,11 +22,16 @@ deleteShortformList(890324); cache = []; }; + const handleHotkeys = (e: KeyboardEvent) => { + hotkeys.get(e.key)?.action(e); + }; + +
-