Просмотр исходного кода

fix(tui): handle pdf and image @ files

adamdottv 7 месяцев назад
Родитель
Сommit
f6108b7be8
1 измененных файлов с 13 добавлено и 1 удалено
  1. 13 1
      packages/tui/internal/components/chat/editor.go

+ 13 - 1
packages/tui/internal/components/chat/editor.go

@@ -93,12 +93,24 @@ func (m *editorComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
 			// The cursor is now at `atIndex` after the replacement.
 			filePath := msg.CompletionValue
 			fileName := filepath.Base(filePath)
+			extension := filepath.Ext(filePath)
+			mediaType := ""
+			switch extension {
+			case ".jpg":
+				mediaType = "image/jpeg"
+			case ".png", ".jpeg", ".gif", ".webp":
+				mediaType = "image/" + extension[1:]
+			case ".pdf":
+				mediaType = "application/pdf"
+			default:
+				mediaType = "text/plain"
+			}
 			attachment := &textarea.Attachment{
 				ID:        uuid.NewString(),
 				Display:   "@" + fileName,
 				URL:       fmt.Sprintf("file://%s", filePath),
 				Filename:  fileName,
-				MediaType: "text/plain",
+				MediaType: mediaType,
 			}
 			m.textarea.InsertAttachment(attachment)
 			m.textarea.InsertString(" ")