20738f3623
Replace the legacy React UI with the new Svelte-based one. Introduce a Playground in the UI to quickly test out text, image, text to speech and speech to text models behind llama-swap.
Key Changes
New Svelte UI (ui-svelte/)
- Multi-tab Playground with Chat, Image Generation, Audio Transcription, and Speech interfaces
- Chat: message editing/regeneration, markdown rendering with LaTeX math support, image attachments, code syntax highlighting
- Image: size selector, download/fullscreen viewing
- Audio: transcription with peer support
- Speech: voice caching with manual refresh, download button
- Responsive mobile layout with collapsible navigation
- XSS fixes and accessibility improvements
Proxy Improvements
- Add gzip/brotli compression for UI static assets (proxy/ui_compress.go)
- Add GET /v1/audio/voices?model={model} endpoint for voice listing
- Add peer support for /v1/audio/transcriptions
15 lines
328 B
Svelte
15 lines
328 B
Svelte
<script lang="ts">
|
|
interface Props {
|
|
featureName: string;
|
|
}
|
|
|
|
let { featureName }: Props = $props();
|
|
</script>
|
|
|
|
<div class="flex items-center justify-center h-full">
|
|
<div class="text-center text-txtsecondary">
|
|
<p class="text-lg">{featureName}</p>
|
|
<p class="text-sm mt-2">To be implemented</p>
|
|
</div>
|
|
</div>
|