From 14bad11a654afc6280f82d728d93714623e80d8a Mon Sep 17 00:00:00 2001 From: botvid Date: Mon, 10 Feb 2025 16:04:01 +0100 Subject: [PATCH] =?UTF-8?q?skelett=20f=C3=B6r=20h=C3=B6gerklicks/f5-meny,?= =?UTF-8?q?=20a=20la=20protype?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/menu.svelte | 79 +++++++++++++++++++ .../dropdown-menu-checkbox-item.svelte | 35 ++++++++ .../dropdown-menu-content.svelte | 26 ++++++ .../dropdown-menu/dropdown-menu-item.svelte | 31 ++++++++ .../dropdown-menu/dropdown-menu-label.svelte | 19 +++++ .../dropdown-menu-radio-group.svelte | 11 +++ .../dropdown-menu-radio-item.svelte | 35 ++++++++ .../dropdown-menu-separator.svelte | 14 ++++ .../dropdown-menu-shortcut.svelte | 13 +++ .../dropdown-menu-sub-content.svelte | 29 +++++++ .../dropdown-menu-sub-trigger.svelte | 32 ++++++++ src/lib/components/ui/dropdown-menu/index.ts | 48 +++++++++++ src/routes/+page.svelte | 24 ++---- 13 files changed, 378 insertions(+), 18 deletions(-) create mode 100644 src/components/menu.svelte create mode 100644 src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte create mode 100644 src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte create mode 100644 src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte create mode 100644 src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte create mode 100644 src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte create mode 100644 src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte create mode 100644 src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte create mode 100644 src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte create mode 100644 src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte create mode 100644 src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte create mode 100644 src/lib/components/ui/dropdown-menu/index.ts diff --git a/src/components/menu.svelte b/src/components/menu.svelte new file mode 100644 index 0000000..f44c732 --- /dev/null +++ b/src/components/menu.svelte @@ -0,0 +1,79 @@ + + + {appState.menuOpen = v}} closeFocus="textarea#doc.textarea"> + + + + + Inställningar + + + + Lägg till förkortning + F12 + + + Statistik + F12 + + + + + + Förkortningar + F12 + + + Förinskriven text + F12 + + + Textinställningar + F12 + + + Tangentbord + F12 + + + + + + Anslut + + + Distanstolkning + F12 + + + Lokalt nätverk + F12 + + + + + + + Hjälp + F12 + + Feedback + F12 + + Användarkonto + F12 + + + + Logga ut + ⇧⌘Q + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte new file mode 100644 index 0000000..0f408c6 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte @@ -0,0 +1,35 @@ + + + + + + + + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte new file mode 100644 index 0000000..03a5866 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte @@ -0,0 +1,26 @@ + + + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte new file mode 100644 index 0000000..b89f5fb --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte @@ -0,0 +1,31 @@ + + + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte new file mode 100644 index 0000000..43f1527 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte @@ -0,0 +1,19 @@ + + + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte new file mode 100644 index 0000000..1c74ae1 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte @@ -0,0 +1,11 @@ + + + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte new file mode 100644 index 0000000..7cdfdca --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte @@ -0,0 +1,35 @@ + + + + + + + + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte new file mode 100644 index 0000000..8b16e03 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte @@ -0,0 +1,14 @@ + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte new file mode 100644 index 0000000..d8c7378 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte @@ -0,0 +1,13 @@ + + + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte new file mode 100644 index 0000000..042398d --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte @@ -0,0 +1,29 @@ + + + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte new file mode 100644 index 0000000..f207f30 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte @@ -0,0 +1,32 @@ + + + + + + diff --git a/src/lib/components/ui/dropdown-menu/index.ts b/src/lib/components/ui/dropdown-menu/index.ts new file mode 100644 index 0000000..c1749e9 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/index.ts @@ -0,0 +1,48 @@ +import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui"; +import Item from "./dropdown-menu-item.svelte"; +import Label from "./dropdown-menu-label.svelte"; +import Content from "./dropdown-menu-content.svelte"; +import Shortcut from "./dropdown-menu-shortcut.svelte"; +import RadioItem from "./dropdown-menu-radio-item.svelte"; +import Separator from "./dropdown-menu-separator.svelte"; +import RadioGroup from "./dropdown-menu-radio-group.svelte"; +import SubContent from "./dropdown-menu-sub-content.svelte"; +import SubTrigger from "./dropdown-menu-sub-trigger.svelte"; +import CheckboxItem from "./dropdown-menu-checkbox-item.svelte"; + +const Sub = DropdownMenuPrimitive.Sub; +const Root = DropdownMenuPrimitive.Root; +const Trigger = DropdownMenuPrimitive.Trigger; +const Group = DropdownMenuPrimitive.Group; + +export { + Sub, + Root, + Item, + Label, + Group, + Trigger, + Content, + Shortcut, + Separator, + RadioItem, + SubContent, + SubTrigger, + RadioGroup, + CheckboxItem, + // + Root as DropdownMenu, + Sub as DropdownMenuSub, + Item as DropdownMenuItem, + Label as DropdownMenuLabel, + Group as DropdownMenuGroup, + Content as DropdownMenuContent, + Trigger as DropdownMenuTrigger, + Shortcut as DropdownMenuShortcut, + RadioItem as DropdownMenuRadioItem, + Separator as DropdownMenuSeparator, + RadioGroup as DropdownMenuRadioGroup, + SubContent as DropdownMenuSubContent, + SubTrigger as DropdownMenuSubTrigger, + CheckboxItem as DropdownMenuCheckboxItem, +}; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index a5018bd..c0a4ec2 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -2,29 +2,16 @@ import Textarea from '../components/textarea.svelte'; import Dashboard from '../components/dashboard.svelte'; import { db, deleteShortformList, type Shortform } from '../db/main'; - import { importShortforms } from '../db/import'; - + import Menu from "../components/menu.svelte"; import { Button } from '$lib/components/ui/button'; import { hotkeys } from '../modules/keyboard'; - let cache: Array; - let showDashboard: boolean = true; - db.shortforms - .toArray() - .then((shortforms) => { - cache = shortforms; - }) - .catch((err) => { - console.error(err); - }); - importShortforms([]); - const deleteDefaultShortforms = () => { - deleteShortformList(890324); - cache = []; - }; + let showDashboard: boolean = false; + const handleHotkeys = (e: KeyboardEvent) => { hotkeys.get(e.key)?.action(e); }; + SKRIVERT @@ -33,8 +20,9 @@
+