chore: update attachment icon alignment

This commit is contained in:
Faisal Amir 2025-08-18 14:24:30 +07:00
parent cffbe1a77b
commit 067f8b5447

View File

@ -225,11 +225,7 @@ const ChatInput = ({ model, className, initialMessage }: ChatInputProps) => {
const actualType = getFileTypeFromExtension(file.name) || detectedType const actualType = getFileTypeFromExtension(file.name) || detectedType
// Check file type - images only // Check file type - images only
const allowedTypes = [ const allowedTypes = ['image/jpg', 'image/jpeg', 'image/png']
'image/jpg',
'image/jpeg',
'image/png',
]
if (!allowedTypes.includes(actualType)) { if (!allowedTypes.includes(actualType)) {
setMessage( setMessage(
@ -336,23 +332,23 @@ const ChatInput = ({ model, className, initialMessage }: ChatInputProps) => {
const clipboardItems = e.clipboardData?.items const clipboardItems = e.clipboardData?.items
if (!clipboardItems) return if (!clipboardItems) return
const imageItems = Array.from(clipboardItems).filter(item => const imageItems = Array.from(clipboardItems).filter((item) =>
item.type.startsWith('image/') item.type.startsWith('image/')
) )
if (imageItems.length > 0) { if (imageItems.length > 0) {
e.preventDefault() e.preventDefault()
const files: File[] = [] const files: File[] = []
let processedCount = 0 let processedCount = 0
imageItems.forEach((item) => { imageItems.forEach((item) => {
const file = item.getAsFile() const file = item.getAsFile()
if (file) { if (file) {
files.push(file) files.push(file)
} }
processedCount++ processedCount++
// When all items are processed, handle the valid files // When all items are processed, handle the valid files
if (processedCount === imageItems.length && files.length > 0) { if (processedCount === imageItems.length && files.length > 0) {
const syntheticEvent = { const syntheticEvent = {
@ -360,7 +356,7 @@ const ChatInput = ({ model, className, initialMessage }: ChatInputProps) => {
files: files, files: files,
}, },
} as unknown as React.ChangeEvent<HTMLInputElement> } as unknown as React.ChangeEvent<HTMLInputElement>
handleFileChange(syntheticEvent) handleFileChange(syntheticEvent)
} }
}) })
@ -494,7 +490,7 @@ const ChatInput = ({ model, className, initialMessage }: ChatInputProps) => {
)} )}
{/* File attachment - always available */} {/* File attachment - always available */}
<div <div
className="h-6 p-1 items-center justify-center rounded-sm hover:bg-main-view-fg/10 transition-all duration-200 ease-in-out gap-1 ml-1" className="h-6 p-1 ml-1 flex items-center justify-center rounded-sm hover:bg-main-view-fg/10 transition-all duration-200 ease-in-out gap-1"
onClick={handleAttachmentClick} onClick={handleAttachmentClick}
> >
<IconPaperclip size={18} className="text-main-view-fg/50" /> <IconPaperclip size={18} className="text-main-view-fg/50" />