From 13f40df7c4ea8ddb391603874680e5d04768c861 Mon Sep 17 00:00:00 2001
From: "Thomas G. Lopes" <26071571+TGlide@users.noreply.github.com>
Date: Tue, 17 Jun 2025 23:14:18 +0100
Subject: [PATCH] fix some issues
---
src/lib/backend/convex/storage.ts | 6 +-
.../ui/file-upload/file-upload.svelte | 131 ------------------
src/lib/components/ui/file-upload/index.ts | 1 -
src/routes/chat/+layout.svelte | 9 +-
src/routes/chat/[id]/message.svelte | 29 ++--
5 files changed, 19 insertions(+), 157 deletions(-)
delete mode 100644 src/lib/components/ui/file-upload/file-upload.svelte
delete mode 100644 src/lib/components/ui/file-upload/index.ts
diff --git a/src/lib/backend/convex/storage.ts b/src/lib/backend/convex/storage.ts
index c672e79..6b14d40 100644
--- a/src/lib/backend/convex/storage.ts
+++ b/src/lib/backend/convex/storage.ts
@@ -1,6 +1,7 @@
import { v } from 'convex/values';
import { api } from './_generated/api';
-import { mutation, query } from './_generated/server';
+import { query } from './_generated/server';
+import { mutation } from './functions';
export const generateUploadUrl = mutation({
args: {
@@ -53,4 +54,5 @@ export const deleteFile = mutation({
await ctx.storage.delete(args.storage_id);
},
-});
\ No newline at end of file
+});
+
diff --git a/src/lib/components/ui/file-upload/file-upload.svelte b/src/lib/components/ui/file-upload/file-upload.svelte
deleted file mode 100644
index 8395e9c..0000000
--- a/src/lib/components/ui/file-upload/file-upload.svelte
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
-
- {#if selectedFiles.length > 0}
-
- {#each selectedFiles as file, index}
-
-

-
-
- {/each}
-
- {/if}
-
-
-
-
- {#if isUploading}
-
-
Uploading...
- {:else if fileUpload.isDragging}
-
-
Drop images here
- {:else}
-
-
- Click to upload or drag and drop images
-
-
PNG, JPG, GIF up to 10MB
- {/if}
-
-
-
\ No newline at end of file
diff --git a/src/lib/components/ui/file-upload/index.ts b/src/lib/components/ui/file-upload/index.ts
deleted file mode 100644
index 8048151..0000000
--- a/src/lib/components/ui/file-upload/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default as FileUpload } from './file-upload.svelte';
\ No newline at end of file
diff --git a/src/routes/chat/+layout.svelte b/src/routes/chat/+layout.svelte
index ea99540..5a9e9c6 100644
--- a/src/routes/chat/+layout.svelte
+++ b/src/routes/chat/+layout.svelte
@@ -6,24 +6,25 @@
import { useCachedQuery } from '$lib/cache/cached-query.svelte.js';
import * as Icons from '$lib/components/icons';
import { Button } from '$lib/components/ui/button';
+ import { ImageModal } from '$lib/components/ui/image-modal';
import { LightSwitch } from '$lib/components/ui/light-switch/index.js';
import { callModal } from '$lib/components/ui/modal/global-modal.svelte';
import * as Sidebar from '$lib/components/ui/sidebar';
import Tooltip from '$lib/components/ui/tooltip.svelte';
+ import { cmdOrCtrl } from '$lib/hooks/is-mac.svelte.js';
import { TextareaAutosize } from '$lib/spells/textarea-autosize.svelte.js';
import { models } from '$lib/state/models.svelte';
import { usePrompt } from '$lib/state/prompt.svelte.js';
import { session } from '$lib/state/session.svelte.js';
import { settings } from '$lib/state/settings.svelte.js';
import { Provider } from '$lib/types';
+ import { compressImage } from '$lib/utils/image-compression';
import { isString } from '$lib/utils/is.js';
import { supportsImages } from '$lib/utils/model-capabilities';
import { omit, pick } from '$lib/utils/object.js';
import { cn } from '$lib/utils/utils.js';
- import { compressImage } from '$lib/utils/image-compression';
import { useConvexClient } from 'convex-svelte';
import { FileUpload, Popover } from 'melt/builders';
- import { ImageModal } from '$lib/components/ui/image-modal';
import { Avatar } from 'melt/components';
import { Debounced, ElementSize, IsMounted, ScrollState } from 'runed';
import SendIcon from '~icons/lucide/arrow-up';
@@ -34,12 +35,10 @@
import PinIcon from '~icons/lucide/pin';
import PinOffIcon from '~icons/lucide/pin-off';
import Settings2Icon from '~icons/lucide/settings-2';
- import XIcon from '~icons/lucide/x';
import UploadIcon from '~icons/lucide/upload';
+ import XIcon from '~icons/lucide/x';
import { callGenerateMessage } from '../api/generate-message/call.js';
import ModelPicker from './model-picker.svelte';
- import { cmdOrCtrl } from '$lib/hooks/is-mac.svelte.js';
- import { Provider } from '$lib/types.js';
const client = useConvexClient();
diff --git a/src/routes/chat/[id]/message.svelte b/src/routes/chat/[id]/message.svelte
index 31962fc..5e85a4a 100644
--- a/src/routes/chat/[id]/message.svelte
+++ b/src/routes/chat/[id]/message.svelte
@@ -26,22 +26,14 @@
let imageModal = $state<{ open: boolean; imageUrl: string; fileName: string }>({
open: false,
imageUrl: '',
- fileName: ''
+ fileName: '',
});
function openImageModal(imageUrl: string, fileName: string) {
imageModal = {
open: true,
imageUrl,
- fileName
- };
- }
-
- function closeImageModal() {
- imageModal = {
- open: false,
- imageUrl: '',
- fileName: ''
+ fileName,
};
}
@@ -49,17 +41,17 @@
{#if message.role !== 'system' && !(message.role === 'assistant' && message.content.length === 0)}
{#if message.images && message.images.length > 0}
-
- {#each message.images as image}
+
+ {#each message.images as image (image.storage_id)}
{/each}
@@ -72,7 +64,9 @@
{#snippet failed(error)}
Error rendering markdown:
-
+
{/snippet}
@@ -101,6 +95,5 @@
bind:open={imageModal.open}
imageUrl={imageModal.imageUrl}
fileName={imageModal.fileName}
- onClose={closeImageModal}
/>
{/if}