Files
gpx.studio/website/src/lib/components/toolbar/Toolbar.svelte

76 lines
2.4 KiB
Svelte
Raw Normal View History

2024-04-22 19:36:31 +02:00
<script lang="ts">
2024-05-02 19:51:08 +02:00
import { Tool } from '$lib/stores';
import { dbUtils } from '$lib/db';
import Routing from '$lib/components/toolbar/tools/routing/Routing.svelte';
import Waypoint from '$lib/components/toolbar/tools/waypoint/Waypoint.svelte';
2024-04-22 19:36:31 +02:00
import ToolbarItem from './ToolbarItem.svelte';
import {
ArrowRightLeft,
Group,
CalendarClock,
Pencil,
SquareDashedMousePointer,
Ungroup,
MapPin,
Shrink,
Palette,
FolderTree
} from 'lucide-svelte';
2024-04-24 17:39:56 +02:00
import { _ } from 'svelte-i18n';
2024-04-22 19:36:31 +02:00
</script>
2024-04-26 19:34:46 +02:00
<div class="absolute top-0 bottom-0 left-0 z-20 flex flex-col justify-center pointer-events-none">
2024-04-22 19:36:31 +02:00
<div class="flex flex-row w-screen items-center">
<div
2024-04-26 12:30:39 +02:00
class="h-fit flex flex-col p-1 gap-1 bg-background rounded-md pointer-events-auto shadow-md"
2024-04-22 19:36:31 +02:00
>
<ToolbarItem tool={Tool.ROUTING}>
2024-04-22 19:36:31 +02:00
<Pencil slot="icon" size="18" />
2024-04-24 18:13:01 +02:00
<span slot="tooltip">{$_('toolbar.routing.tooltip')}</span>
2024-04-22 19:36:31 +02:00
</ToolbarItem>
<ToolbarItem tool={Tool.TIME}>
2024-04-22 19:36:31 +02:00
<CalendarClock slot="icon" size="18" />
2024-04-24 17:39:56 +02:00
<span slot="tooltip">{$_('toolbar.time_tooltip')}</span>
2024-04-22 19:36:31 +02:00
</ToolbarItem>
2024-04-30 20:55:47 +02:00
<ToolbarItem
tool={Tool.REVERSE}
2024-05-02 19:51:08 +02:00
on:click={() => dbUtils.applyToSelectedFiles((file) => file.reverse())}
2024-04-30 20:55:47 +02:00
>
2024-04-22 19:36:31 +02:00
<ArrowRightLeft slot="icon" size="18" />
2024-04-24 17:39:56 +02:00
<span slot="tooltip">{$_('toolbar.reverse_tooltip')}</span>
2024-04-22 19:36:31 +02:00
</ToolbarItem>
<ToolbarItem tool={Tool.MERGE}>
2024-04-22 19:36:31 +02:00
<Group slot="icon" size="18" />
2024-04-24 17:39:56 +02:00
<span slot="tooltip">{$_('toolbar.merge_tooltip')}</span>
2024-04-22 19:36:31 +02:00
</ToolbarItem>
<ToolbarItem tool={Tool.EXTRACT}>
2024-04-22 19:36:31 +02:00
<Ungroup slot="icon" size="18" />
2024-04-24 17:39:56 +02:00
<span slot="tooltip">{$_('toolbar.extract_tooltip')}</span>
2024-04-22 19:36:31 +02:00
</ToolbarItem>
<ToolbarItem tool={Tool.WAYPOINT}>
2024-04-22 19:36:31 +02:00
<MapPin slot="icon" size="18" />
2024-04-24 17:39:56 +02:00
<span slot="tooltip">{$_('toolbar.waypoint_tooltip')}</span>
2024-04-22 19:36:31 +02:00
</ToolbarItem>
<ToolbarItem tool={Tool.REDUCE}>
2024-04-22 19:36:31 +02:00
<Shrink slot="icon" size="18" />
2024-04-24 17:39:56 +02:00
<span slot="tooltip">{$_('toolbar.reduce_tooltip')}</span>
2024-04-22 19:36:31 +02:00
</ToolbarItem>
<ToolbarItem tool={Tool.CLEAN}>
2024-04-22 19:36:31 +02:00
<SquareDashedMousePointer slot="icon" size="18" />
2024-04-24 17:39:56 +02:00
<span slot="tooltip">{$_('toolbar.clean_tooltip')}</span>
2024-04-22 19:36:31 +02:00
</ToolbarItem>
<ToolbarItem tool={Tool.STYLE}>
2024-04-22 19:36:31 +02:00
<Palette slot="icon" size="18" />
2024-04-24 17:39:56 +02:00
<span slot="tooltip">{$_('toolbar.style_tooltip')}</span>
2024-04-22 19:36:31 +02:00
</ToolbarItem>
<ToolbarItem tool={Tool.STRUCTURE}>
2024-04-22 19:36:31 +02:00
<FolderTree slot="icon" size="18" />
2024-04-24 17:39:56 +02:00
<span slot="tooltip">{$_('toolbar.structure_tooltip')}</span>
2024-04-22 19:36:31 +02:00
</ToolbarItem>
</div>
2024-04-25 16:41:06 +02:00
<Routing />
<Waypoint />
2024-04-22 19:36:31 +02:00
</div>
</div>