From b333b06772c89d96aacb5490d6a219fba7c09cc6 Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Thu, 12 Feb 2026 20:57:17 +0100 Subject: Engage! --- .../app/chat/ChatScreen/ChatScreen.svelte | 617 +++++++++++++++++++++ .../chat/ChatScreen/ChatScreenDragOverlay.svelte | 17 + .../app/chat/ChatScreen/ChatScreenHeader.svelte | 28 + .../ChatScreen/ChatScreenProcessingInfo.svelte | 120 ++++ 4 files changed, 782 insertions(+) create mode 100644 llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreen.svelte create mode 100644 llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenDragOverlay.svelte create mode 100644 llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenHeader.svelte create mode 100644 llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenProcessingInfo.svelte (limited to 'llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen') diff --git a/llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreen.svelte b/llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreen.svelte new file mode 100644 index 0000000..2743955 --- /dev/null +++ b/llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreen.svelte @@ -0,0 +1,617 @@ + + +{#if isDragOver} + +{/if} + + + + + +{#if !isEmpty} +
+ { + if (!disableAutoScroll) { + userScrolledUp = false; + autoScrollEnabled = true; + scrollChatToBottom(); + } + }} + /> + +
+ + + {#if hasPropsError} +
+ + + + Server unavailable + + + {serverError()} + +
+ {/if} + +
+ chatStore.stopGeneration()} + showHelperText={false} + bind:uploadedFiles + /> +
+
+
+{:else if isServerLoading} + + +{:else} +
+
+
+

llama.cpp

+ +

+ {serverStore.props?.modalities?.audio + ? 'Record audio, type a message ' + : 'Type a message'} or upload files to get started +

+
+ + {#if hasPropsError} +
+ + + + Server unavailable + + + {serverError()} + +
+ {/if} + +
+ chatStore.stopGeneration()} + showHelperText={true} + bind:uploadedFiles + /> +
+
+
+{/if} + + + + + + + + + File Upload Error + + + Some files cannot be uploaded with the current model. + + + +
+ {#if fileErrorData.generallyUnsupported.length > 0} +
+

Unsupported File Types

+ +
+ {#each fileErrorData.generallyUnsupported as file (file.name)} +
+

+ {file.name} +

+ +

File type not supported

+
+ {/each} +
+
+ {/if} + + {#if fileErrorData.modalityUnsupported.length > 0} +
+
+ {#each fileErrorData.modalityUnsupported as file (file.name)} +
+

+ {file.name} +

+ +

+ {fileErrorData.modalityReasons[file.name] || 'Not supported by current model'} +

+
+ {/each} +
+
+ {/if} +
+ +
+

This model supports:

+ +

+ {fileErrorData.supportedTypes.join(', ')} +

+
+ + + (showFileErrorDialog = false)}> + Got it + + +
+
+
+ + (showDeleteDialog = false)} +/> + + { + if (!open) { + emptyFileNames = []; + } + }} +/> + + + + diff --git a/llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenDragOverlay.svelte b/llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenDragOverlay.svelte new file mode 100644 index 0000000..ab4adb2 --- /dev/null +++ b/llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenDragOverlay.svelte @@ -0,0 +1,17 @@ + + +
+
+ + +

Attach a file

+ +

Drop your files here to upload

+
+
diff --git a/llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenHeader.svelte b/llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenHeader.svelte new file mode 100644 index 0000000..874140f --- /dev/null +++ b/llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenHeader.svelte @@ -0,0 +1,28 @@ + + +
+
+ +
+
+ + (settingsOpen = open)} /> diff --git a/llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenProcessingInfo.svelte b/llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenProcessingInfo.svelte new file mode 100644 index 0000000..a60ae9e --- /dev/null +++ b/llama.cpp/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenProcessingInfo.svelte @@ -0,0 +1,120 @@ + + +
+
+ {#each processingDetails as detail (detail)} + {detail} + {/each} +
+
+ + -- cgit v1.2.3