From c77f5fb8773015b5420ec118349bc19425850829 Mon Sep 17 00:00:00 2001 From: Aunali321 Date: Tue, 2 Sep 2025 02:46:38 +0530 Subject: [PATCH] feat: Add previews for all supported file types --- src/app.css | 10 + .../ui/file-preview/audio-preview.svelte | 512 ++++++++++++++++++ .../ui/file-preview/document-preview.svelte | 379 +++++++++++++ .../ui/file-preview/file-preview.svelte | 97 ++++ .../ui/file-preview/image-preview.svelte | 149 +++++ .../ui/file-preview/video-preview.svelte | 321 +++++++++++ src/lib/utils/file.ts | 36 ++ src/routes/chat/[id]/message.svelte | 60 +- 8 files changed, 1530 insertions(+), 34 deletions(-) create mode 100644 src/lib/components/ui/file-preview/audio-preview.svelte create mode 100644 src/lib/components/ui/file-preview/document-preview.svelte create mode 100644 src/lib/components/ui/file-preview/file-preview.svelte create mode 100644 src/lib/components/ui/file-preview/image-preview.svelte create mode 100644 src/lib/components/ui/file-preview/video-preview.svelte create mode 100644 src/lib/utils/file.ts diff --git a/src/app.css b/src/app.css index 4e47f90..26afe46 100644 --- a/src/app.css +++ b/src/app.css @@ -343,6 +343,16 @@ overscroll-behavior: contain; } + /* Large modal variant for file previews */ + .modal-large .modal-box { + @apply max-w-[90vw] max-h-[90vh] p-4; + } + + /* Extra large modal for maximum viewing space */ + .modal-xlarge .modal-box { + @apply max-w-[95vw] max-h-[95vh] p-2; + } + .modal-top { @apply place-items-start; diff --git a/src/lib/components/ui/file-preview/audio-preview.svelte b/src/lib/components/ui/file-preview/audio-preview.svelte new file mode 100644 index 0000000..3d6d4dc --- /dev/null +++ b/src/lib/components/ui/file-preview/audio-preview.svelte @@ -0,0 +1,512 @@ + + +