diff --git a/website/package-lock.json b/website/package-lock.json index 608424e4..d3c5b8d2 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "dependencies": { "@mapbox/mapbox-gl-geocoder": "^5.0.2", - "bits-ui": "^0.21.4", + "bits-ui": "^0.21.5", "chart.js": "^4.4.2", "clsx": "^2.1.0", "gpx": "file:../gpx", @@ -1891,9 +1891,9 @@ } }, "node_modules/bits-ui": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/bits-ui/-/bits-ui-0.21.4.tgz", - "integrity": "sha512-IL+7s19GW561jwkeYk23dwkTfQ9606I062qqv2AtjCdhhIdoOEJNVBX0kjP5xefSaS6ojL0HGG54att0aRTcAQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/bits-ui/-/bits-ui-0.21.5.tgz", + "integrity": "sha512-EDGHWkxnlcV2fbXn2tMps3SfpS7k6bfX3BrQ4s/h79jT6yprBS8DdDficlDK0SDHmPYHBZ0hSy4OgQUDodS/6w==", "dependencies": { "@internationalized/date": "^3.5.1", "@melt-ui/svelte": "0.76.2", diff --git a/website/package.json b/website/package.json index 875e210e..66b9836a 100644 --- a/website/package.json +++ b/website/package.json @@ -42,7 +42,7 @@ "type": "module", "dependencies": { "@mapbox/mapbox-gl-geocoder": "^5.0.2", - "bits-ui": "^0.21.4", + "bits-ui": "^0.21.5", "chart.js": "^4.4.2", "clsx": "^2.1.0", "gpx": "file:../gpx", diff --git a/website/src/lib/components/FileList.svelte b/website/src/lib/components/FileList.svelte index 5ad3d855..fee279a7 100644 --- a/website/src/lib/components/FileList.svelte +++ b/website/src/lib/components/FileList.svelte @@ -1,7 +1,6 @@ + + +
{ + if (!get(selectedFiles).has(get(file))) { + get(selectFiles).select(get(file)); + } + }} +> + + + + + + + + {$_('menu.duplicate')} + + + + {$_('menu.delete')} + + + +
diff --git a/website/src/lib/components/Menu.svelte b/website/src/lib/components/Menu.svelte index e48c2bd5..40d53589 100644 --- a/website/src/lib/components/Menu.svelte +++ b/website/src/lib/components/Menu.svelte @@ -2,6 +2,7 @@ import * as Menubar from '$lib/components/ui/menubar/index.js'; import { Button } from '$lib/components/ui/button'; import Logo from './Logo.svelte'; + import Shortcut from './Shortcut.svelte'; import { Plus, Copy, Download, Undo2, Redo2, Trash2, Upload, Cloud, Heart } from 'lucide-svelte'; import { @@ -55,13 +56,13 @@ {$_('menu.new')} - ⌘N + {$_('menu.load_desktop')} - ⌘O + @@ -71,18 +72,18 @@ {$_('menu.duplicate')} - ⌘D + {$_('menu.export')} - ⌘S + {$_('menu.export_all')} - ⇧⌘S + @@ -92,27 +93,34 @@ {$_('menu.undo')} - ⌘Z + {$_('menu.redo')} - ⇧⌘Z + + + + $selectFiles.selectAllFiles()}> + + {$_('menu.select_all')} + {$_('menu.delete')} - ⌘⌫ + + - {$_('menu.delete_all')}⇧⌘⌫ + {$_('menu.delete_all')} + + diff --git a/website/src/lib/components/Shortcut.svelte b/website/src/lib/components/Shortcut.svelte new file mode 100644 index 00000000..66812ff6 --- /dev/null +++ b/website/src/lib/components/Shortcut.svelte @@ -0,0 +1,21 @@ + + +{shift ? '⇧' : ''}{ctrl ? (isMac ? '⌘' : $_('menu.ctrl') + '+') : ''}{key}{click + ? $_('menu.click') + : ''} diff --git a/website/src/lib/components/toolbar/tools/routing/RoutingControlPopup.svelte b/website/src/lib/components/toolbar/tools/routing/RoutingControlPopup.svelte index 34c4a4a5..fd3bfac1 100644 --- a/website/src/lib/components/toolbar/tools/routing/RoutingControlPopup.svelte +++ b/website/src/lib/components/toolbar/tools/routing/RoutingControlPopup.svelte @@ -1,6 +1,7 @@ + + + + + + + + + diff --git a/website/src/lib/components/ui/context-menu/context-menu-content.svelte b/website/src/lib/components/ui/context-menu/context-menu-content.svelte new file mode 100644 index 00000000..952ca50e --- /dev/null +++ b/website/src/lib/components/ui/context-menu/context-menu-content.svelte @@ -0,0 +1,24 @@ + + + + + diff --git a/website/src/lib/components/ui/context-menu/context-menu-item.svelte b/website/src/lib/components/ui/context-menu/context-menu-item.svelte new file mode 100644 index 00000000..cd91b8b1 --- /dev/null +++ b/website/src/lib/components/ui/context-menu/context-menu-item.svelte @@ -0,0 +1,31 @@ + + + + + diff --git a/website/src/lib/components/ui/context-menu/context-menu-label.svelte b/website/src/lib/components/ui/context-menu/context-menu-label.svelte new file mode 100644 index 00000000..5d52f795 --- /dev/null +++ b/website/src/lib/components/ui/context-menu/context-menu-label.svelte @@ -0,0 +1,19 @@ + + + + + diff --git a/website/src/lib/components/ui/context-menu/context-menu-radio-group.svelte b/website/src/lib/components/ui/context-menu/context-menu-radio-group.svelte new file mode 100644 index 00000000..53fa692c --- /dev/null +++ b/website/src/lib/components/ui/context-menu/context-menu-radio-group.svelte @@ -0,0 +1,11 @@ + + + + + diff --git a/website/src/lib/components/ui/context-menu/context-menu-radio-item.svelte b/website/src/lib/components/ui/context-menu/context-menu-radio-item.svelte new file mode 100644 index 00000000..a0ef943a --- /dev/null +++ b/website/src/lib/components/ui/context-menu/context-menu-radio-item.svelte @@ -0,0 +1,35 @@ + + + + + + + + + + diff --git a/website/src/lib/components/ui/context-menu/context-menu-separator.svelte b/website/src/lib/components/ui/context-menu/context-menu-separator.svelte new file mode 100644 index 00000000..8dc3a61a --- /dev/null +++ b/website/src/lib/components/ui/context-menu/context-menu-separator.svelte @@ -0,0 +1,14 @@ + + + diff --git a/website/src/lib/components/ui/context-menu/context-menu-shortcut.svelte b/website/src/lib/components/ui/context-menu/context-menu-shortcut.svelte new file mode 100644 index 00000000..09ab9f8e --- /dev/null +++ b/website/src/lib/components/ui/context-menu/context-menu-shortcut.svelte @@ -0,0 +1,16 @@ + + + + + diff --git a/website/src/lib/components/ui/context-menu/context-menu-sub-content.svelte b/website/src/lib/components/ui/context-menu/context-menu-sub-content.svelte new file mode 100644 index 00000000..20f7e751 --- /dev/null +++ b/website/src/lib/components/ui/context-menu/context-menu-sub-content.svelte @@ -0,0 +1,29 @@ + + + + + diff --git a/website/src/lib/components/ui/context-menu/context-menu-sub-trigger.svelte b/website/src/lib/components/ui/context-menu/context-menu-sub-trigger.svelte new file mode 100644 index 00000000..2a5f7f5f --- /dev/null +++ b/website/src/lib/components/ui/context-menu/context-menu-sub-trigger.svelte @@ -0,0 +1,32 @@ + + + + + + diff --git a/website/src/lib/components/ui/context-menu/index.ts b/website/src/lib/components/ui/context-menu/index.ts new file mode 100644 index 00000000..7d4af845 --- /dev/null +++ b/website/src/lib/components/ui/context-menu/index.ts @@ -0,0 +1,49 @@ +import { ContextMenu as ContextMenuPrimitive } from "bits-ui"; + +import Item from "./context-menu-item.svelte"; +import Label from "./context-menu-label.svelte"; +import Content from "./context-menu-content.svelte"; +import Shortcut from "./context-menu-shortcut.svelte"; +import RadioItem from "./context-menu-radio-item.svelte"; +import Separator from "./context-menu-separator.svelte"; +import RadioGroup from "./context-menu-radio-group.svelte"; +import SubContent from "./context-menu-sub-content.svelte"; +import SubTrigger from "./context-menu-sub-trigger.svelte"; +import CheckboxItem from "./context-menu-checkbox-item.svelte"; + +const Sub = ContextMenuPrimitive.Sub; +const Root = ContextMenuPrimitive.Root; +const Trigger = ContextMenuPrimitive.Trigger; +const Group = ContextMenuPrimitive.Group; + +export { + Sub, + Root, + Item, + Label, + Group, + Trigger, + Content, + Shortcut, + Separator, + RadioItem, + SubContent, + SubTrigger, + RadioGroup, + CheckboxItem, + // + Root as ContextMenu, + Sub as ContextMenuSub, + Item as ContextMenuItem, + Label as ContextMenuLabel, + Group as ContextMenuGroup, + Content as ContextMenuContent, + Trigger as ContextMenuTrigger, + Shortcut as ContextMenuShortcut, + RadioItem as ContextMenuRadioItem, + Separator as ContextMenuSeparator, + RadioGroup as ContextMenuRadioGroup, + SubContent as ContextMenuSubContent, + SubTrigger as ContextMenuSubTrigger, + CheckboxItem as ContextMenuCheckboxItem, +}; diff --git a/website/src/locales/en.json b/website/src/locales/en.json index 83dfba77..e0214be7 100644 --- a/website/src/locales/en.json +++ b/website/src/locales/en.json @@ -13,6 +13,7 @@ "redo": "Redo", "delete": "Delete", "delete_all": "Delete all", + "select_all": "Select all", "settings": "Settings", "distance_units": "Distance units", "metric": "Metric", @@ -28,7 +29,9 @@ "distance_markers": "Show distance markers", "direction_markers": "Show direction markers", "about": "About", - "donate": "Donate" + "donate": "Donate", + "ctrl": "Ctrl", + "click": "Click" }, "toolbar": { "routing": {