]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/blob
5d3a20b16b9cbaecaf796279ca14964baccbd1ad
[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 hasMcpPromptsSupport?: boolean;
11 hasMcpResourcesSupport?: boolean;
12 hasVisionModality?: boolean;
13 onFileUpload?: () => void;
14 onMcpPromptClick?: () => void;
15 onMcpResourcesClick?: () => void;
16 onMcpSettingsClick?: () => void;
17 onSystemPromptClick?: () => void;
18 }
19
20 let {
21 disabled = false,
22 hasAudioModality = false,
23 hasMcpPromptsSupport = false,
24 hasMcpResourcesSupport = false,
25 hasVisionModality = false,
26 onFileUpload,
27 onMcpPromptClick,
28 onMcpResourcesClick,
29 onMcpSettingsClick,
30 onSystemPromptClick
31 }: Props = $props();
32
33 const isMobile = new IsMobile();
34 </script>
35
36 {#if isMobile.current}
37 <ChatFormActionAddSheet
38 {disabled}
39 {hasAudioModality}
40 {hasVisionModality}
41 {hasMcpPromptsSupport}
42 {hasMcpResourcesSupport}
43 {onFileUpload}
44 {onMcpPromptClick}
45 {onMcpResourcesClick}
46 >
47 {#snippet trigger({ disabled, onclick })}
48 <ChatFormActionAddButton {disabled} {onclick} />
49 {/snippet}
50 </ChatFormActionAddSheet>
51 {:else}
52 <ChatFormActionAddDropdown
53 {disabled}
54 {hasAudioModality}
55 {hasVisionModality}
56 {hasMcpPromptsSupport}
57 {hasMcpResourcesSupport}
58 {onFileUpload}
59 {onMcpPromptClick}
60 {onMcpResourcesClick}
61 {onMcpSettingsClick}
62 {onSystemPromptClick}
63 />
64 {/if}