diff options
Diffstat (limited to 'llama.cpp/tools/server/webui/src/lib/components/app/misc/BadgeChatStatistic.svelte')
| -rw-r--r-- | llama.cpp/tools/server/webui/src/lib/components/app/misc/BadgeChatStatistic.svelte | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/llama.cpp/tools/server/webui/src/lib/components/app/misc/BadgeChatStatistic.svelte b/llama.cpp/tools/server/webui/src/lib/components/app/misc/BadgeChatStatistic.svelte new file mode 100644 index 0000000..a2b28d2 --- /dev/null +++ b/llama.cpp/tools/server/webui/src/lib/components/app/misc/BadgeChatStatistic.svelte @@ -0,0 +1,44 @@ +<script lang="ts"> + import { BadgeInfo } from '$lib/components/app'; + import * as Tooltip from '$lib/components/ui/tooltip'; + import { copyToClipboard } from '$lib/utils'; + import type { Component } from 'svelte'; + + interface Props { + class?: string; + icon: Component; + value: string | number; + tooltipLabel?: string; + } + + let { class: className = '', icon: Icon, value, tooltipLabel }: Props = $props(); + + function handleClick() { + void copyToClipboard(String(value)); + } +</script> + +{#if tooltipLabel} + <Tooltip.Root> + <Tooltip.Trigger> + <BadgeInfo class={className} onclick={handleClick}> + {#snippet icon()} + <Icon class="h-3 w-3" /> + {/snippet} + + {value} + </BadgeInfo> + </Tooltip.Trigger> + <Tooltip.Content> + <p>{tooltipLabel}</p> + </Tooltip.Content> + </Tooltip.Root> +{:else} + <BadgeInfo class={className} onclick={handleClick}> + {#snippet icon()} + <Icon class="h-3 w-3" /> + {/snippet} + + {value} + </BadgeInfo> +{/if} |
