mirror of
https://github.com/RSSNext/Folo.git
synced 2026-03-29 17:18:26 +00:00
* init Signed-off-by: Innei <tukon479@gmail.com> * feat(ai-chat): enhance file handling with category-based icon retrieval - Introduced `getFileCategoryFromMimeType` function to categorize file types based on MIME type, improving the clarity of file handling in the AI chat interface. - Updated `FileAttachmentBlock` and `AIChatContextBar` components to utilize the new categorization function for determining file icons, streamlining the code and enhancing maintainability. - Removed redundant MIME type checks, simplifying the logic for icon assignment. These changes improve the user experience by ensuring accurate file representation and reduce code complexity. Signed-off-by: Innei <tukon479@gmail.com> * feat: preview image * Update avatar upload to use followApi and bump deps * feat: Refactor AI chat context blocks and file upload handling - Introduced new components for rendering AI chat context blocks, including AIDataBlockItem and AIDataBlockPart. - Enhanced file attachment handling by updating the structure of AIChatContextBlock to separate file attachments from other block types. - Implemented a new file upload hook (useFileUpload) to manage file uploads with progress tracking and toast notifications. - Added UploadProgress and CircularProgress components for visual feedback during file uploads. - Improved file processing logic to simulate realistic upload progress and handle errors more effectively. - Updated existing components to utilize the new block structure and file upload logic. - Created utility functions for managing block styles, icons, and labels for better code organization. Signed-off-by: Innei <tukon479@gmail.com> * feat: Enhance chat message rendering with Suspense and add ThinkingIndicator component Signed-off-by: Innei <tukon479@gmail.com> * fix: Remove error check for message metadata in AIChatMessage component Signed-off-by: Innei <tukon479@gmail.com> --------- Signed-off-by: Innei <tukon479@gmail.com>
73 B
73 B
Before you start, you need to read and follow the rules in @../CLAUDE.md