]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/blob
54ddcf9b0a766b824c2d30826a99542ef13ffca4
[pkg/ggml/sources/llama.cpp] /
1 <script lang="ts">
2 import { IsMobile } from '$lib/hooks/is-mobile.svelte';
3 import ChatFormActionAddDropdown from './ChatFormActionAddDropdown.svelte';
4 import ChatFormActionAddSheet from './ChatFormActionAddSheet.svelte';
5 import ChatFormActionAddButton from './ChatFormActionAddButton.svelte';
6
7 interface Props {
8 disabled?: boolean;
9 hasAudioModality?: boolean;
10 hasVideoModality?: boolean;
11 hasMcpPromptsSupport?: boolean;
12 hasMcpResourcesSupport?: boolean;
13 hasVisionModality?: boolean;
14 onFileUpload?: () => void;
15 onMcpPromptClick?: () => void;
16 onMcpResourcesClick?: () => void;
17 onMcpSettingsClick?: () => void;
18 onSystemPromptClick?: () => void;
19 }
20
21 let {
22 disabled = false,
23 hasAudioModality = false,
24 hasVideoModality = false,
25 hasMcpPromptsSupport = false,
26 hasMcpResourcesSupport = false,
27 hasVisionModality = false,
28 onFileUpload,
29 onMcpPromptClick,
30 onMcpResourcesClick,
31 onMcpSettingsClick,
32 onSystemPromptClick
33 }: Props = $props();
34
35 const isMobile = new IsMobile();
36 </script>
37
38 {#if isMobile.current}
39 <ChatFormActionAddSheet
40 {disabled}
41 {hasAudioModality}
42 {hasVideoModality}
43 {hasVisionModality}
44 {hasMcpPromptsSupport}
45 {hasMcpResourcesSupport}
46 {onFileUpload}
47 {onMcpPromptClick}
48 {onMcpResourcesClick}
49 >
50 {#snippet trigger({ disabled, onclick })}
51 <ChatFormActionAddButton {disabled} {onclick} />
52 {/snippet}
53 </ChatFormActionAddSheet>
54 {:else}
55 <ChatFormActionAddDropdown
56 {disabled}
57 {hasAudioModality}
58 {hasVideoModality}
59 {hasVisionModality}
60 {hasMcpPromptsSupport}
61 {hasMcpResourcesSupport}
62 {onFileUpload}
63 {onMcpPromptClick}
64 {onMcpResourcesClick}
65 {onMcpSettingsClick}
66 {onSystemPromptClick}
67 />
68 {/if}