diff --git a/locales/ar/file.json b/locales/ar/file.json index 3a7c0c647b38..2c736128f9b8 100644 --- a/locales/ar/file.json +++ b/locales/ar/file.json @@ -56,7 +56,8 @@ "title": "الوضع الحالي للنشر لا يدعم إدارة الملفات" }, "preview": { - "unsupportedFile": "هذا التنسيق غير مدعوم للمعاينة عبر الإنترنت" + "downloadFile": "تحميل الملف", + "unsupportedFileAndContact": "هذا التنسيق من الملفات غير مدعوم للمعاينة عبر الإنترنت، إذا كان لديك طلب للمعاينة، فلا تتردد في <1>إبلاغنا" }, "searchFilePlaceholder": "بحث عن ملف", "tab": { diff --git a/locales/bg-BG/file.json b/locales/bg-BG/file.json index 3759e1cb6fa2..97805cb1c288 100644 --- a/locales/bg-BG/file.json +++ b/locales/bg-BG/file.json @@ -56,7 +56,8 @@ "title": "Текущият режим на инсталация не поддържа управление на файлове" }, "preview": { - "unsupportedFile": "Този файлов формат не поддържа онлайн преглед" + "downloadFile": "Изтеглете файла", + "unsupportedFileAndContact": "Този формат на файла не поддържа онлайн преглед. Ако имате нужда от преглед, моля, <1>свържете се с нас." }, "searchFilePlaceholder": "Търсене на файл", "tab": { diff --git a/locales/de-DE/file.json b/locales/de-DE/file.json index bcac585ef7ae..034f2fb59ac2 100644 --- a/locales/de-DE/file.json +++ b/locales/de-DE/file.json @@ -56,7 +56,8 @@ "title": "Der aktuelle Bereitstellungsmodus unterstützt keine Dateiverwaltung" }, "preview": { - "unsupportedFile": "Dieses Dateiformat wird nicht für die Online-Vorschau unterstützt" + "downloadFile": "Datei herunterladen", + "unsupportedFileAndContact": "Dieses Dateiformat wird derzeit nicht für die Online-Vorschau unterstützt. Wenn Sie eine Vorschau wünschen, können Sie uns gerne <1>Feedback geben." }, "searchFilePlaceholder": "Datei suchen", "tab": { diff --git a/locales/en-US/file.json b/locales/en-US/file.json index ad095cb3ef53..4570bb91c562 100644 --- a/locales/en-US/file.json +++ b/locales/en-US/file.json @@ -56,7 +56,8 @@ "title": "The current deployment mode does not support file management" }, "preview": { - "unsupportedFile": "This file format does not support online preview" + "downloadFile": "Download File", + "unsupportedFileAndContact": "This file format is not currently supported for online preview. If you have a request for previewing, feel free to <1>contact us." }, "searchFilePlaceholder": "Search Files", "tab": { diff --git a/locales/es-ES/file.json b/locales/es-ES/file.json index 9613d857d8e0..88d8dc5d0438 100644 --- a/locales/es-ES/file.json +++ b/locales/es-ES/file.json @@ -56,7 +56,8 @@ "title": "El modo de despliegue actual no soporta la gestión de archivos" }, "preview": { - "unsupportedFile": "Este formato de archivo no es compatible con la vista previa en línea" + "downloadFile": "Descargar archivo", + "unsupportedFileAndContact": "Este formato de archivo no es compatible con la vista previa en línea. Si desea solicitar una vista previa, no dude en <1>contactarnos." }, "searchFilePlaceholder": "Buscar archivo", "tab": { diff --git a/locales/fr-FR/file.json b/locales/fr-FR/file.json index 1a309ca54286..e06ee505d576 100644 --- a/locales/fr-FR/file.json +++ b/locales/fr-FR/file.json @@ -56,7 +56,8 @@ "title": "Le mode de déploiement actuel ne prend pas en charge la gestion des fichiers" }, "preview": { - "unsupportedFile": "Ce format de fichier ne prend pas en charge l'aperçu en ligne" + "downloadFile": "Télécharger le fichier", + "unsupportedFileAndContact": "Ce format de fichier n'est pas encore pris en charge pour l'aperçu en ligne. Si vous souhaitez un aperçu, n'hésitez pas à <1>nous contacter." }, "searchFilePlaceholder": "Rechercher un fichier", "tab": { diff --git a/locales/it-IT/file.json b/locales/it-IT/file.json index 51a037ade779..50edfb75372c 100644 --- a/locales/it-IT/file.json +++ b/locales/it-IT/file.json @@ -56,7 +56,8 @@ "title": "La modalità di distribuzione attuale non supporta la gestione dei file" }, "preview": { - "unsupportedFile": "Questo formato di file non supporta l'anteprima online" + "downloadFile": "Scarica file", + "unsupportedFileAndContact": "Questo formato di file non è attualmente supportato per la visualizzazione online. Se hai bisogno di una visualizzazione, ti preghiamo di <1>contattarci." }, "searchFilePlaceholder": "Cerca file", "tab": { diff --git a/locales/ja-JP/file.json b/locales/ja-JP/file.json index 3aa5950785e1..bec084aa80f0 100644 --- a/locales/ja-JP/file.json +++ b/locales/ja-JP/file.json @@ -56,7 +56,8 @@ "title": "現在のデプロイメントモードはファイル管理をサポートしていません" }, "preview": { - "unsupportedFile": "このファイル形式はオンラインプレビューをサポートしていません" + "downloadFile": "ファイルをダウンロード", + "unsupportedFileAndContact": "このファイル形式はオンラインプレビューをサポートしていません。プレビューのリクエストがある場合は、ぜひ<1>ご連絡ください。" }, "searchFilePlaceholder": "ファイルを検索", "tab": { diff --git a/locales/ko-KR/file.json b/locales/ko-KR/file.json index 7a000db0da2f..d57a9ad465ad 100644 --- a/locales/ko-KR/file.json +++ b/locales/ko-KR/file.json @@ -56,7 +56,8 @@ "title": "현재 배포 모드는 파일 관리를 지원하지 않습니다." }, "preview": { - "unsupportedFile": "이 파일 형식은 온라인 미리보기를 지원하지 않습니다." + "downloadFile": "파일 다운로드", + "unsupportedFileAndContact": "이 파일 형식은 온라인 미리보기를 지원하지 않습니다. 미리보기가 필요하신 경우, <1>저희에게 피드백을 주시기 바랍니다." }, "searchFilePlaceholder": "파일 검색", "tab": { diff --git a/locales/nl-NL/file.json b/locales/nl-NL/file.json index 1ec88e8cd5ee..53e9c08c29d0 100644 --- a/locales/nl-NL/file.json +++ b/locales/nl-NL/file.json @@ -56,7 +56,8 @@ "title": "De huidige implementatiemodus ondersteunt geen bestandsbeheer" }, "preview": { - "unsupportedFile": "Dit bestandsformaat wordt niet ondersteund voor online preview" + "downloadFile": "Bestand downloaden", + "unsupportedFileAndContact": "Dit bestandsformaat wordt momenteel niet ondersteund voor online preview. Als u een preview wilt, neem dan gerust <1>contact met ons op." }, "searchFilePlaceholder": "Zoek bestand", "tab": { diff --git a/locales/pl-PL/file.json b/locales/pl-PL/file.json index 6a5bc74f1c56..260272c0333c 100644 --- a/locales/pl-PL/file.json +++ b/locales/pl-PL/file.json @@ -56,7 +56,8 @@ "title": "Obecny tryb wdrożenia nie obsługuje zarządzania plikami" }, "preview": { - "unsupportedFile": "Ten format pliku nie jest obsługiwany w podglądzie online" + "downloadFile": "Pobierz plik", + "unsupportedFileAndContact": "Ten format pliku nie jest obecnie obsługiwany w podglądzie online. Jeśli chcesz uzyskać podgląd, zachęcamy do <1>skontaktowania się z nami." }, "searchFilePlaceholder": "Szukaj pliku", "tab": { diff --git a/locales/pt-BR/file.json b/locales/pt-BR/file.json index a05f57a34c47..d91e1e51fae7 100644 --- a/locales/pt-BR/file.json +++ b/locales/pt-BR/file.json @@ -56,7 +56,8 @@ "title": "O modo de implantação atual não suporta gerenciamento de arquivos" }, "preview": { - "unsupportedFile": "Este formato de arquivo não suporta visualização online" + "downloadFile": "Baixar arquivo", + "unsupportedFileAndContact": "Este formato de arquivo não é suportado para visualização online. Se você tiver interesse em visualizar, sinta-se à vontade para <1>nos enviar um feedback." }, "searchFilePlaceholder": "Pesquisar arquivo", "tab": { diff --git a/locales/ru-RU/file.json b/locales/ru-RU/file.json index 02288e51e743..84994e8607a8 100644 --- a/locales/ru-RU/file.json +++ b/locales/ru-RU/file.json @@ -56,7 +56,8 @@ "title": "Текущий режим развертывания не поддерживает управление файлами" }, "preview": { - "unsupportedFile": "Этот формат файла не поддерживает онлайн-просмотр" + "downloadFile": "Скачать файл", + "unsupportedFileAndContact": "Этот формат файла в настоящее время не поддерживает онлайн-просмотр. Если у вас есть запрос на просмотр, пожалуйста, <1>сообщите нам." }, "searchFilePlaceholder": "Поиск файла", "tab": { diff --git a/locales/tr-TR/file.json b/locales/tr-TR/file.json index c37a9e6c4665..3e09f3bc31d8 100644 --- a/locales/tr-TR/file.json +++ b/locales/tr-TR/file.json @@ -56,7 +56,8 @@ "title": "Mevcut dağıtım modu dosya yönetimini desteklemiyor" }, "preview": { - "unsupportedFile": "Bu dosya formatı çevrimiçi önizleme desteklenmiyor" + "downloadFile": "Dosyayı İndir", + "unsupportedFileAndContact": "Bu dosya formatı çevrimiçi önizleme için desteklenmiyor. Önizleme talebiniz varsa, lütfen <1>bize geri bildirimde bulunun." }, "searchFilePlaceholder": "Dosya Ara", "tab": { diff --git a/locales/vi-VN/file.json b/locales/vi-VN/file.json index 7cabfcdce5d6..5b5f5484b26c 100644 --- a/locales/vi-VN/file.json +++ b/locales/vi-VN/file.json @@ -56,7 +56,8 @@ "title": "Chế độ triển khai hiện tại không hỗ trợ quản lý tệp" }, "preview": { - "unsupportedFile": "Định dạng tệp này không hỗ trợ xem trước trực tuyến" + "downloadFile": "Tải tệp", + "unsupportedFileAndContact": "Định dạng tệp này hiện không hỗ trợ xem trước trực tuyến. Nếu bạn có yêu cầu xem trước, vui lòng <1>phản hồi cho chúng tôi" }, "searchFilePlaceholder": "Tìm kiếm tệp", "tab": { diff --git a/locales/zh-CN/file.json b/locales/zh-CN/file.json index 65bffdf4832b..6cead771e4ae 100644 --- a/locales/zh-CN/file.json +++ b/locales/zh-CN/file.json @@ -56,7 +56,8 @@ "title": "当前部署模式不支持文件管理" }, "preview": { - "unsupportedFile": "此文件格式不支持在线预览" + "downloadFile": "下载文件", + "unsupportedFileAndContact": "此文件格式暂不支持在线预览,如有预览诉求,欢迎<1>反馈给我们" }, "searchFilePlaceholder": "搜索文件", "tab": { diff --git a/locales/zh-TW/file.json b/locales/zh-TW/file.json index eae8c231d290..44b81dc70022 100644 --- a/locales/zh-TW/file.json +++ b/locales/zh-TW/file.json @@ -56,7 +56,8 @@ "title": "當前部署模式不支持檔案管理" }, "preview": { - "unsupportedFile": "此檔案格式不支持在線預覽" + "downloadFile": "下載檔案", + "unsupportedFileAndContact": "此檔案格式暫不支援線上預覽,如有預覽需求,歡迎<1>反饋給我們" }, "searchFilePlaceholder": "搜索檔案", "tab": { diff --git a/src/components/FileParsingStatus/index.tsx b/src/components/FileParsingStatus/index.tsx index 720f3d06506f..8211bdb0090a 100644 --- a/src/components/FileParsingStatus/index.tsx +++ b/src/components/FileParsingStatus/index.tsx @@ -104,8 +104,6 @@ const FileParsingStatus = memo( } case AsyncTaskStatus.Success: { - console.log(embeddingStatus); - // if no embedding status, it means that the embedding is not started if (!embeddingStatus || preparingEmbedding) return ( diff --git a/src/const/url.ts b/src/const/url.ts index 2e4e56f77f59..42860ffad8b8 100644 --- a/src/const/url.ts +++ b/src/const/url.ts @@ -47,6 +47,9 @@ export const PLUGINS_INDEX_URL = 'https://chat-plugins.lobehub.com'; export const MORE_MODEL_PROVIDER_REQUEST_URL = 'https://github.com/lobehub/lobe-chat/discussions/1284'; +export const MORE_FILE_PREVIEW_REQUEST_URL = + 'https://github.com/lobehub/lobe-chat/discussions/3684'; + export const AGENTS_INDEX_GITHUB = 'https://github.com/lobehub/lobe-chat-agents'; export const AGENTS_INDEX_GITHUB_ISSUE = urlJoin(AGENTS_INDEX_GITHUB, 'issues/new'); diff --git a/src/features/FileViewer/NotSupport/index.tsx b/src/features/FileViewer/NotSupport/index.tsx index a5b90a2a9985..7efcbbb92490 100644 --- a/src/features/FileViewer/NotSupport/index.tsx +++ b/src/features/FileViewer/NotSupport/index.tsx @@ -1,10 +1,13 @@ import { IDocument } from '@cyntler/react-doc-viewer'; +import { FluentEmoji } from '@lobehub/ui'; import { Button } from 'antd'; import { createStyles } from 'antd-style'; +import Link from 'next/link'; import React, { ComponentType, useState } from 'react'; -import { useTranslation } from 'react-i18next'; +import { Trans, useTranslation } from 'react-i18next'; import { Center, Flexbox } from 'react-layout-kit'; +import { MORE_FILE_PREVIEW_REQUEST_URL } from '@/const/url'; import { downloadFile } from '@/utils/client/downloadFile'; const useStyles = createStyles(({ css, token }) => ({ @@ -25,7 +28,7 @@ const NotSupport: ComponentType<{ }> = ({ fileName, document: doc }) => { const { styles } = useStyles(); - const { t } = useTranslation(['file', 'common']); + const { t } = useTranslation('file'); const [loading, setLoading] = useState(false); @@ -33,7 +36,15 @@ const NotSupport: ComponentType<{
- {t('preview.unsupportedFile')} + + + + 此文件格式暂不支持在线预览,如有预览诉求,欢迎 + + 反馈给我们 + + +
diff --git a/src/features/FileViewer/Renderer/MSDoc/index.tsx b/src/features/FileViewer/Renderer/MSDoc/index.tsx new file mode 100644 index 000000000000..bba9bd50aadd --- /dev/null +++ b/src/features/FileViewer/Renderer/MSDoc/index.tsx @@ -0,0 +1,65 @@ +import { DocRenderer } from '@cyntler/react-doc-viewer'; +import { css, cx } from 'antd-style'; +import { Flexbox } from 'react-layout-kit'; + +const container = css` + position: relative; + overflow: hidden; + border-radius: 4px; +`; + +const content = css` + position: absolute; + inset-block: -1px -1px; + inset-inline-start: -1px; + + width: calc(100% + 2px); + height: calc(100% + 2px); + + border: 0; +`; + +const MSDocRenderer: DocRenderer = ({ mainState: { currentDocument } }) => { + if (!currentDocument) return null; + + return ( + +