2024-04-29 17:03:23 +02:00
|
|
|
<script lang="ts">
|
2025-02-02 11:17:22 +01:00
|
|
|
import { isMac, isSafari } from '$lib/utils';
|
|
|
|
|
import { onMount } from 'svelte';
|
2025-06-21 21:07:36 +02:00
|
|
|
import { i18n } from '$lib/i18n.svelte';
|
2024-04-29 17:03:23 +02:00
|
|
|
|
2025-02-02 11:17:22 +01:00
|
|
|
export let key: string | undefined = undefined;
|
|
|
|
|
export let shift: boolean = false;
|
|
|
|
|
export let ctrl: boolean = false;
|
|
|
|
|
export let click: boolean = false;
|
2024-04-29 17:03:23 +02:00
|
|
|
|
2025-02-02 11:17:22 +01:00
|
|
|
let mac = false;
|
|
|
|
|
let safari = false;
|
2024-04-29 17:03:23 +02:00
|
|
|
|
2025-02-02 11:17:22 +01:00
|
|
|
onMount(() => {
|
|
|
|
|
mac = isMac();
|
|
|
|
|
safari = isSafari();
|
|
|
|
|
});
|
2024-04-29 17:03:23 +02:00
|
|
|
</script>
|
|
|
|
|
|
2024-08-11 11:49:16 +02:00
|
|
|
<div
|
2025-02-02 11:17:22 +01:00
|
|
|
class="ml-auto pl-2 text-xs tracking-widest text-muted-foreground flex flex-row gap-0 items-baseline"
|
|
|
|
|
{...$$props}
|
2024-04-29 17:03:23 +02:00
|
|
|
>
|
2025-02-02 11:17:22 +01:00
|
|
|
{#if shift}
|
|
|
|
|
<span>⇧</span>
|
|
|
|
|
{/if}
|
|
|
|
|
{#if ctrl}
|
2025-06-21 21:07:36 +02:00
|
|
|
<span>{mac && !safari ? '⌘' : i18n._('menu.ctrl') + '+'}</span>
|
2025-02-02 11:17:22 +01:00
|
|
|
{/if}
|
|
|
|
|
{#if key}
|
|
|
|
|
<span class={key === '+' ? 'font-medium text-sm/4' : ''}>{key}</span>
|
|
|
|
|
{/if}
|
|
|
|
|
{#if click}
|
2025-06-21 21:07:36 +02:00
|
|
|
<span>{i18n._('menu.click')}</span>
|
2025-02-02 11:17:22 +01:00
|
|
|
{/if}
|
2024-08-11 11:49:16 +02:00
|
|
|
</div>
|