Plus UI dropdown (#1971)
* Replace file upload button with bits-ui DropdownMenu
Replaces the previous file upload button and tooltip with a DropdownMenu from bits-ui, providing a more modern UI for file/image uploads in ChatInput.svelte. Adds new dependencies to package.json for bits-ui and related packages.
* Add URL file fetch modal to chat input
Introduces UrlFetchModal.svelte for fetching files from HTTPS URLs and adds it to ChatInput.svelte. Updates file upload dropdown to support uploading text files from device or URL, and refines mime type handling in ChatWindow.svelte to always allow common text-like files and images for multimodal models.
* Copy shared files when creating conversation from share
Adds logic to duplicate files from a shared conversation to a new conversation when created from a share. Files are renamed and metadata is updated to associate them with the new conversation.
* Centralize MIME type allowlists and update usage
Introduces src/lib/constants/mime.ts to centralize text and image MIME allowlists. Updates components and server endpoint logic to use these constants for file type filtering, improving consistency and maintainability. Also fixes a minor label and MIME string typo.
* Improve MIME type handling for uploaded files
Refactored plain text MIME type detection to use a configurable allowlist and a new matching function. Updated modal width for better display of images and text files.
* format