diff --git a/website/src/lib/components/ButtonWithTooltip.svelte b/website/src/lib/components/ButtonWithTooltip.svelte index e59b5326..edd809d8 100644 --- a/website/src/lib/components/ButtonWithTooltip.svelte +++ b/website/src/lib/components/ButtonWithTooltip.svelte @@ -7,6 +7,7 @@ variant = 'default', label, side = 'top', + disabled = false, class: className = '', children, onclick, @@ -14,6 +15,7 @@ variant?: 'default' | 'secondary' | 'link' | 'destructive' | 'outline' | 'ghost'; label: string; side?: 'top' | 'right' | 'bottom' | 'left'; + disabled?: boolean; class?: string; children: Snippet; onclick?: (event: MouseEvent) => void; diff --git a/website/src/lib/components/Menu.svelte b/website/src/lib/components/Menu.svelte index bcc096b6..65d824c5 100644 --- a/website/src/lib/components/Menu.svelte +++ b/website/src/lib/components/Menu.svelte @@ -55,25 +55,31 @@ // updateSelectionFromKey, // allHidden, // } from '$lib/stores'; - import { - copied, - copySelection, - cutSelection, - pasteSelection, - selectAll, - selection, - } from '$lib/components/file-list/Selection'; - // import { canUndo, canRedo, dbUtils, fileObservers, settings } from '$lib/db'; + // import { canUndo, canRedo, fileActions, fileObservers, settings } from '$lib/db'; import { anySelectedLayer } from '$lib/components/map/layer-control/utils.svelte'; import { defaultOverlays } from '$lib/assets/layers'; // import LayerControlSettings from '$lib/components/map/layer-control/LayerControlSettings.svelte'; - import { allowedPastes, ListFileItem, ListTrackItem } from '$lib/components/file-list/FileList'; + import { + allowedPastes, + ListFileItem, + ListTrackItem, + } from '$lib/components/file-list/file-list'; import Export from '$lib/components/export/Export.svelte'; import { mode, setMode } from 'mode-watcher'; import { i18n } from '$lib/i18n.svelte'; import { languages } from '$lib/languages'; import { getURLForLanguage } from '$lib/utils'; import { settings } from '$lib/logic/settings.svelte'; + import { + createFile, + fileActions, + loadFiles, + pasteSelection, + triggerFileInput, + } from '$lib/logic/file-actions.svelte'; + import { fileStateCollection } from '$lib/logic/file-state.svelte'; + import { fileActionManager } from '$lib/logic/file-action-manager.svelte'; + import { selection } from '$lib/logic/selection.svelte'; const { distanceUnits, @@ -91,9 +97,6 @@ routing, } = settings; - // let undoDisabled = derived(canUndo, ($canUndo) => !$canUndo); - // let redoDisabled = derived(canRedo, ($canRedo) => !$canRedo); - function switchBasemaps() { [currentBasemap.value, previousBasemap.value] = [ previousBasemap.value, @@ -103,15 +106,11 @@ function toggleOverlays() { if (currentOverlays.value && anySelectedLayer(currentOverlays.value)) { - [currentOverlays.value, previousOverlays.value] = [ - defaultOverlays, - currentOverlays.value, - ]; + previousOverlays.value = JSON.parse(JSON.stringify(currentOverlays.value)); + currentOverlays.value = defaultOverlays; } else { - [currentOverlays.value, previousOverlays.value] = [ - previousOverlays.value, - defaultOverlays, - ]; + currentOverlays.value = JSON.parse(JSON.stringify(previousOverlays.value)); + previousOverlays.value = defaultOverlays; } } @@ -126,7 +125,7 @@