summaryrefslogtreecommitdiff
path: root/llama.cpp/tools/server/webui/src/lib/components/app/misc/CopyToClipboardIcon.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'llama.cpp/tools/server/webui/src/lib/components/app/misc/CopyToClipboardIcon.svelte')
-rw-r--r--llama.cpp/tools/server/webui/src/lib/components/app/misc/CopyToClipboardIcon.svelte18
1 files changed, 18 insertions, 0 deletions
diff --git a/llama.cpp/tools/server/webui/src/lib/components/app/misc/CopyToClipboardIcon.svelte b/llama.cpp/tools/server/webui/src/lib/components/app/misc/CopyToClipboardIcon.svelte
new file mode 100644
index 0000000..bf6cd4f
--- /dev/null
+++ b/llama.cpp/tools/server/webui/src/lib/components/app/misc/CopyToClipboardIcon.svelte
@@ -0,0 +1,18 @@
+<script lang="ts">
+ import { Copy } from '@lucide/svelte';
+ import { copyToClipboard } from '$lib/utils';
+
+ interface Props {
+ ariaLabel?: string;
+ canCopy?: boolean;
+ text: string;
+ }
+
+ let { ariaLabel = 'Copy to clipboard', canCopy = true, text }: Props = $props();
+</script>
+
+<Copy
+ class="h-3 w-3 flex-shrink-0 cursor-{canCopy ? 'pointer' : 'not-allowed'}"
+ aria-label={ariaLabel}
+ onclick={() => canCopy && copyToClipboard(text)}
+/>