2024-04-08 17:12:39 +02:00
|
|
|
<script lang="ts">
|
|
|
|
import * as Menubar from '$lib/components/ui/menubar/index.js';
|
|
|
|
import { Button } from '$lib/components/ui/button';
|
|
|
|
import Logo from './Logo.svelte';
|
2024-04-17 16:46:51 +02:00
|
|
|
import { Plus, Copy, Download, Undo2, Redo2, Trash2, HeartHandshake } from 'lucide-svelte';
|
2024-04-15 10:33:47 +02:00
|
|
|
import Fa from 'svelte-fa';
|
|
|
|
import { faGoogleDrive } from '@fortawesome/free-brands-svg-icons';
|
2024-04-17 16:46:51 +02:00
|
|
|
import Load from '$lib/components/tools/Load.svelte';
|
2024-04-08 17:12:39 +02:00
|
|
|
|
|
|
|
let distanceUnits = 'metric';
|
|
|
|
let velocityUnits = 'speed';
|
|
|
|
let showDistanceMarkers = false;
|
|
|
|
let showDirectionMarkers = false;
|
|
|
|
</script>
|
|
|
|
|
2024-04-09 17:37:23 +02:00
|
|
|
<div class="absolute top-2 left-0 right-0 z-10 flex flex-row justify-center pointer-events-none">
|
2024-04-10 14:54:35 +02:00
|
|
|
<div
|
|
|
|
class="w-fit flex flex-row items-center p-1 bg-background rounded-md pointer-events-auto shadow-md"
|
|
|
|
>
|
2024-04-09 18:46:01 +02:00
|
|
|
<Logo class="h-5 mt-0.5 mx-2" />
|
|
|
|
<Menubar.Root class="border-none h-fit p-0">
|
2024-04-09 17:21:26 +02:00
|
|
|
<Menubar.Menu>
|
|
|
|
<Menubar.Trigger>File</Menubar.Trigger>
|
|
|
|
<Menubar.Content>
|
|
|
|
<Menubar.Item>
|
2024-04-15 10:33:47 +02:00
|
|
|
<Plus size="16" class="mr-1" /> New <Menubar.Shortcut>⌘N</Menubar.Shortcut>
|
2024-04-09 17:21:26 +02:00
|
|
|
</Menubar.Item>
|
2024-04-17 16:46:51 +02:00
|
|
|
<Load />
|
2024-04-15 10:33:47 +02:00
|
|
|
<Menubar.Item>
|
|
|
|
<Fa icon={faGoogleDrive} class="h-4 w-4 mr-1" />
|
|
|
|
Load from Google Drive...</Menubar.Item
|
|
|
|
>
|
|
|
|
<Menubar.Separator />
|
|
|
|
<Menubar.Item>
|
|
|
|
<Copy size="16" class="mr-1" /> Duplicate <Menubar.Shortcut>⌘D</Menubar.Shortcut>
|
2024-04-09 17:21:26 +02:00
|
|
|
</Menubar.Item>
|
|
|
|
<Menubar.Separator />
|
|
|
|
<Menubar.Item>
|
2024-04-15 10:33:47 +02:00
|
|
|
<Download size="16" class="mr-1" /> Export... <Menubar.Shortcut>⌘S</Menubar.Shortcut>
|
2024-04-09 17:21:26 +02:00
|
|
|
</Menubar.Item>
|
|
|
|
<Menubar.Item>
|
2024-04-15 10:33:47 +02:00
|
|
|
<Download size="16" class="mr-1" /> Export all... <Menubar.Shortcut
|
|
|
|
>⇧⌘S</Menubar.Shortcut
|
|
|
|
>
|
2024-04-09 17:21:26 +02:00
|
|
|
</Menubar.Item>
|
|
|
|
</Menubar.Content>
|
|
|
|
</Menubar.Menu>
|
|
|
|
<Menubar.Menu>
|
|
|
|
<Menubar.Trigger>Edit</Menubar.Trigger>
|
|
|
|
<Menubar.Content>
|
|
|
|
<Menubar.Item>
|
2024-04-15 10:33:47 +02:00
|
|
|
<Undo2 size="16" class="mr-1" /> Undo <Menubar.Shortcut>⌘Z</Menubar.Shortcut>
|
2024-04-09 17:21:26 +02:00
|
|
|
</Menubar.Item>
|
|
|
|
<Menubar.Item>
|
2024-04-15 10:33:47 +02:00
|
|
|
<Redo2 size="16" class="mr-1" /> Redo <Menubar.Shortcut>⇧⌘Z</Menubar.Shortcut>
|
2024-04-09 17:21:26 +02:00
|
|
|
</Menubar.Item>
|
|
|
|
<Menubar.Separator />
|
2024-04-15 10:33:47 +02:00
|
|
|
<Menubar.Item
|
2024-04-15 11:40:35 +02:00
|
|
|
><Trash2 size="16" class="mr-1" /> Delete <Menubar.Shortcut>⌘⌫</Menubar.Shortcut
|
2024-04-15 10:33:47 +02:00
|
|
|
></Menubar.Item
|
|
|
|
>
|
|
|
|
<Menubar.Item class="text-destructive data-[highlighted]:text-destructive"
|
2024-04-15 11:40:35 +02:00
|
|
|
><Trash2 size="16" class="mr-1" /> Delete all<Menubar.Shortcut>⇧⌘⌫</Menubar.Shortcut
|
2024-04-15 10:33:47 +02:00
|
|
|
></Menubar.Item
|
|
|
|
>
|
2024-04-09 17:21:26 +02:00
|
|
|
</Menubar.Content>
|
|
|
|
</Menubar.Menu>
|
|
|
|
<Menubar.Menu>
|
|
|
|
<Menubar.Trigger>Help</Menubar.Trigger>
|
|
|
|
<Menubar.Content>
|
|
|
|
<Menubar.Item>
|
|
|
|
Quick help <Menubar.Shortcut>⌘H</Menubar.Shortcut>
|
|
|
|
</Menubar.Item>
|
|
|
|
<Menubar.Item>User guide</Menubar.Item>
|
|
|
|
</Menubar.Content>
|
|
|
|
</Menubar.Menu>
|
|
|
|
<Menubar.Menu>
|
|
|
|
<Menubar.Trigger>Settings</Menubar.Trigger>
|
|
|
|
<Menubar.Content
|
|
|
|
><Menubar.Sub>
|
|
|
|
<Menubar.SubTrigger inset>Distance units</Menubar.SubTrigger>
|
|
|
|
<Menubar.SubContent>
|
|
|
|
<Menubar.RadioGroup bind:value={distanceUnits}>
|
|
|
|
<Menubar.RadioItem value="metric">Metric</Menubar.RadioItem>
|
|
|
|
<Menubar.RadioItem value="imperial">Imperial</Menubar.RadioItem>
|
|
|
|
</Menubar.RadioGroup>
|
|
|
|
</Menubar.SubContent>
|
|
|
|
</Menubar.Sub>
|
|
|
|
<Menubar.Sub>
|
|
|
|
<Menubar.SubTrigger inset>Velocity units</Menubar.SubTrigger>
|
|
|
|
<Menubar.SubContent>
|
|
|
|
<Menubar.RadioGroup bind:value={velocityUnits}>
|
|
|
|
<Menubar.RadioItem value="speed">Speed</Menubar.RadioItem>
|
|
|
|
<Menubar.RadioItem value="pace">Pace</Menubar.RadioItem>
|
|
|
|
</Menubar.RadioGroup>
|
|
|
|
</Menubar.SubContent>
|
|
|
|
</Menubar.Sub>
|
|
|
|
<Menubar.Separator />
|
|
|
|
<Menubar.CheckboxItem bind:checked={showDistanceMarkers}>
|
|
|
|
Show distance markers
|
|
|
|
</Menubar.CheckboxItem>
|
|
|
|
<Menubar.CheckboxItem bind:checked={showDirectionMarkers}>
|
|
|
|
Show direction markers
|
|
|
|
</Menubar.CheckboxItem>
|
|
|
|
</Menubar.Content>
|
|
|
|
</Menubar.Menu>
|
|
|
|
</Menubar.Root>
|
2024-04-12 15:12:27 +02:00
|
|
|
<div class="h-fit flex flex-row items-center ml-1 gap-1">
|
2024-04-09 18:46:01 +02:00
|
|
|
<Button variant="ghost" href="/about" target="_blank" class="cursor-default h-fit rounded-sm"
|
|
|
|
>About</Button
|
2024-04-09 17:21:26 +02:00
|
|
|
>
|
|
|
|
<Button
|
|
|
|
variant="ghost"
|
|
|
|
href="https://ko-fi.com/gpxstudio"
|
|
|
|
target="_blank"
|
2024-04-09 18:46:01 +02:00
|
|
|
class="cursor-default h-fit rounded-sm"
|
2024-04-15 10:33:47 +02:00
|
|
|
>Donate <HeartHandshake size="16" class="ml-1" /></Button
|
2024-04-09 17:21:26 +02:00
|
|
|
>
|
|
|
|
</div>
|
2024-04-08 17:12:39 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2024-04-09 18:46:01 +02:00
|
|
|
|
|
|
|
<style lang="postcss">
|
|
|
|
div :global(button) {
|
|
|
|
@apply hover:bg-accent;
|
|
|
|
@apply px-3;
|
|
|
|
@apply py-0.5;
|
|
|
|
}
|
|
|
|
|
|
|
|
div :global(a) {
|
|
|
|
@apply hover:bg-accent;
|
|
|
|
@apply px-3;
|
|
|
|
@apply py-0.5;
|
|
|
|
}
|
|
|
|
</style>
|