@lobehub/chat 0.152.12 → 0.153.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/README.md +8 -8
- package/README.zh-CN.md +8 -8
- package/locales/ar/common.json +2 -0
- package/locales/bg-BG/common.json +2 -0
- package/locales/de-DE/common.json +2 -0
- package/locales/en-US/common.json +2 -0
- package/locales/es-ES/common.json +2 -0
- package/locales/fr-FR/common.json +2 -0
- package/locales/it-IT/common.json +2 -0
- package/locales/ja-JP/common.json +2 -0
- package/locales/ko-KR/common.json +2 -0
- package/locales/nl-NL/common.json +2 -0
- package/locales/pl-PL/common.json +2 -0
- package/locales/pt-BR/common.json +2 -0
- package/locales/ru-RU/common.json +2 -0
- package/locales/tr-TR/common.json +2 -0
- package/locales/vi-VN/common.json +2 -0
- package/locales/zh-CN/common.json +2 -0
- package/locales/zh-TW/common.json +2 -0
- package/package.json +1 -1
- package/src/app/(main)/(mobile)/me/features/AvatarBanner.tsx +12 -40
- package/src/app/(main)/(mobile)/me/features/Header.tsx +37 -0
- package/src/app/(main)/(mobile)/me/features/style.ts +29 -0
- package/src/app/(main)/(mobile)/me/layout.tsx +7 -1
- package/src/app/(main)/(mobile)/me/loading.tsx +22 -7
- package/src/app/(main)/(mobile)/me/page.tsx +4 -5
- package/src/app/(main)/@nav/_layout/Mobile.tsx +2 -2
- package/src/app/(main)/chat/(desktop)/features/ChatHeader/Main.tsx +4 -9
- package/src/app/(main)/chat/(desktop)/features/SideBar/SystemRole/index.tsx +5 -6
- package/src/app/(main)/chat/features/SettingButton.tsx +3 -17
- package/src/app/(main)/chat/features/TopicListContent/Header.tsx +1 -1
- package/src/app/(main)/chat/settings/_layout/Desktop/Header.tsx +2 -1
- package/src/app/(main)/chat/settings/_layout/Mobile/Header.tsx +2 -1
- package/src/app/(main)/chat/settings/modal/page.tsx +23 -0
- package/src/app/(main)/market/@detail/features/{AgentDetailContent/index.tsx → AgentDetailContent.tsx} +6 -12
- package/src/app/(main)/market/@detail/features/Banner.tsx +46 -0
- package/src/app/(main)/market/@detail/features/{AgentDetailContent/Header.tsx → Header.tsx} +4 -18
- package/src/app/(main)/market/@detail/features/{AgentDetailContent/Loading.tsx → Loading.tsx} +5 -4
- package/src/app/(main)/market/@detail/features/{AgentDetailContent/style.ts → style.ts} +0 -3
- package/src/app/(main)/market/features/AgentCard/AgentCardBanner.tsx +13 -8
- package/src/app/(main)/market/loading.tsx +13 -1
- package/src/app/(main)/settings/@category/features/CategoryContent.tsx +5 -1
- package/src/app/(main)/settings/modal/page.tsx +27 -0
- package/src/app/@modal/(.)settings/modal/index.tsx +40 -0
- package/src/app/@modal/(.)settings/modal/layout.tsx +32 -0
- package/src/app/@modal/(.)settings/modal/loading.tsx +5 -0
- package/src/app/@modal/(.)settings/modal/page.tsx +19 -0
- package/src/app/@modal/_layout/SettingModalLayout.tsx +59 -0
- package/src/app/@modal/chat/(.)settings/modal/features/CategoryContent.tsx +37 -0
- package/src/app/@modal/chat/(.)settings/modal/features/useCategory.tsx +54 -0
- package/src/app/@modal/chat/(.)settings/modal/layout.tsx +55 -0
- package/src/app/@modal/chat/(.)settings/modal/loading.tsx +5 -0
- package/src/app/@modal/chat/(.)settings/modal/page.tsx +55 -0
- package/src/app/@modal/default.tsx +3 -0
- package/src/app/@modal/error.tsx +5 -0
- package/src/app/@modal/layout.tsx +30 -0
- package/src/app/@modal/loading.tsx +5 -0
- package/src/app/layout.tsx +6 -2
- package/src/components/Cell/Divider.tsx +2 -0
- package/src/components/Cell/index.tsx +5 -1
- package/src/components/server/MobileNavLayout.tsx +1 -0
- package/src/features/Conversation/Messages/index.ts +9 -12
- package/src/features/Conversation/components/InboxWelcome/AgentsSuggest.tsx +15 -6
- package/src/features/Conversation/components/InboxWelcome/QuestionSuggest.tsx +9 -4
- package/src/features/Conversation/components/InboxWelcome/index.tsx +5 -3
- package/src/features/DataImporter/index.tsx +4 -1
- package/src/features/MobileTabBar/index.tsx +3 -3
- package/src/features/User/PlanTag.tsx +45 -0
- package/src/features/User/UserInfo.tsx +26 -9
- package/src/features/User/UserPanel/useMenu.tsx +31 -16
- package/src/hooks/useInterceptingRoutes.test.ts +70 -0
- package/src/hooks/useInterceptingRoutes.ts +46 -0
- package/src/hooks/useQuery.test.ts +0 -1
- package/src/hooks/useQuery.ts +2 -1
- package/src/layout/GlobalProvider/StoreInitialization.tsx +12 -5
- package/src/locales/default/common.ts +4 -2
- package/src/store/global/initialState.ts +9 -0
- package/src/styles/mobileHeader.ts +7 -0
- package/src/features/User/UserPanel/UserInfo.tsx +0 -35
- /package/src/app/(main)/market/@detail/features/{AgentDetailContent/Comment.tsx → Comment.tsx} +0 -0
- /package/src/app/(main)/market/@detail/features/{AgentDetailContent/TokenTag.tsx → TokenTag.tsx} +0 -0
- /package/src/{app/(main)/chat/components → components}/SidebarHeader/index.tsx +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,56 @@
|
|
|
2
2
|
|
|
3
3
|
# Changelog
|
|
4
4
|
|
|
5
|
+
### [Version 0.153.1](https://github.com/lobehub/lobe-chat/compare/v0.153.0...v0.153.1)
|
|
6
|
+
|
|
7
|
+
<sup>Released on **2024-05-04**</sup>
|
|
8
|
+
|
|
9
|
+
#### 💄 Styles
|
|
10
|
+
|
|
11
|
+
- **misc**: Imporve mobile styles and loading skeleton.
|
|
12
|
+
|
|
13
|
+
<br/>
|
|
14
|
+
|
|
15
|
+
<details>
|
|
16
|
+
<summary><kbd>Improvements and Fixes</kbd></summary>
|
|
17
|
+
|
|
18
|
+
#### Styles
|
|
19
|
+
|
|
20
|
+
- **misc**: Imporve mobile styles and loading skeleton, closes [#2363](https://github.com/lobehub/lobe-chat/issues/2363) ([8ee3591](https://github.com/lobehub/lobe-chat/commit/8ee3591))
|
|
21
|
+
|
|
22
|
+
</details>
|
|
23
|
+
|
|
24
|
+
<div align="right">
|
|
25
|
+
|
|
26
|
+
[](#readme-top)
|
|
27
|
+
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
## [Version 0.153.0](https://github.com/lobehub/lobe-chat/compare/v0.152.12...v0.153.0)
|
|
31
|
+
|
|
32
|
+
<sup>Released on **2024-05-04**</sup>
|
|
33
|
+
|
|
34
|
+
#### ✨ Features
|
|
35
|
+
|
|
36
|
+
- **misc**: Add Settings Intercepting Routes.
|
|
37
|
+
|
|
38
|
+
<br/>
|
|
39
|
+
|
|
40
|
+
<details>
|
|
41
|
+
<summary><kbd>Improvements and Fixes</kbd></summary>
|
|
42
|
+
|
|
43
|
+
#### What's improved
|
|
44
|
+
|
|
45
|
+
- **misc**: Add Settings Intercepting Routes, closes [#2346](https://github.com/lobehub/lobe-chat/issues/2346) ([29b6442](https://github.com/lobehub/lobe-chat/commit/29b6442))
|
|
46
|
+
|
|
47
|
+
</details>
|
|
48
|
+
|
|
49
|
+
<div align="right">
|
|
50
|
+
|
|
51
|
+
[](#readme-top)
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
|
|
5
55
|
### [Version 0.152.12](https://github.com/lobehub/lobe-chat/compare/v0.152.11...v0.152.12)
|
|
6
56
|
|
|
7
57
|
<sup>Released on **2024-05-04**</sup>
|
package/README.md
CHANGED
|
@@ -222,14 +222,14 @@ In addition, these plugins are not limited to news aggregation, but can also ext
|
|
|
222
222
|
|
|
223
223
|
<!-- PLUGIN LIST -->
|
|
224
224
|
|
|
225
|
-
| Recent Submits | Description
|
|
226
|
-
| ------------------------------------------------------------------------------------------------------------------------- |
|
|
227
|
-
| [Social Search](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **say-apps** on **2024-05-02**</sup> | The Social Search provides access to tweets, users, followers, images, media and more.<br/>`social` `twitter` `x` `search`
|
|
228
|
-
| [Search Google via Serper](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **Barry** on **2024-04-30**</sup> | Google search engine via Serper.dev free API (2500x🆓/month)<br/>`web` `search`
|
|
229
|
-
| [
|
|
230
|
-
| [
|
|
231
|
-
|
|
232
|
-
> 📊 Total plugins: [<kbd>**
|
|
225
|
+
| Recent Submits | Description |
|
|
226
|
+
| ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
227
|
+
| [Social Search](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **say-apps** on **2024-05-02**</sup> | The Social Search provides access to tweets, users, followers, images, media and more.<br/>`social` `twitter` `x` `search` |
|
|
228
|
+
| [Search Google via Serper](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **Barry** on **2024-04-30**</sup> | Google search engine via Serper.dev free API (2500x🆓/month)<br/>`web` `search` |
|
|
229
|
+
| [NFT Guru](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **swap** on **2024-04-03**</sup> | Discover current prices of NFTs across major platforms and keep track of the rapidly changing marketplace with real-time<br/>`crypto` `nft` |
|
|
230
|
+
| [Calendar Assistant](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **cc** on **2024-03-13**</sup> | A plugin to manage your calendar events # will auto generate i18n in workflow<br/>`calendar` `schedule` `will-auto-generate-i-18-n-in-workflow` |
|
|
231
|
+
|
|
232
|
+
> 📊 Total plugins: [<kbd>**56**</kbd>](https://github.com/lobehub/lobe-chat-plugins)
|
|
233
233
|
|
|
234
234
|
<!-- PLUGIN LIST -->
|
|
235
235
|
|
package/README.zh-CN.md
CHANGED
|
@@ -214,14 +214,14 @@ LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地
|
|
|
214
214
|
|
|
215
215
|
<!-- PLUGIN LIST -->
|
|
216
216
|
|
|
217
|
-
| 最近新增 | 插件描述
|
|
218
|
-
| ------------------------------------------------------------------------------------------------------------------------ |
|
|
219
|
-
| [社交搜索](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **say-apps** on **2024-05-02**</sup> | 社交搜索提供访问推文、用户、关注者、图片、媒体等功能。<br/>`社交` `推特` `x` `搜索`
|
|
220
|
-
| [通过 Serper 搜索 Google](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **Barry** on **2024-04-30**</sup> | 通过 Serper.dev 免费 API 进行 Google 搜索引擎(每月 2500 次🆓)<br/>`网络` `搜索`
|
|
221
|
-
| [
|
|
222
|
-
| [
|
|
223
|
-
|
|
224
|
-
> 📊 Total plugins: [<kbd>**
|
|
217
|
+
| 最近新增 | 插件描述 |
|
|
218
|
+
| ------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------- |
|
|
219
|
+
| [社交搜索](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **say-apps** on **2024-05-02**</sup> | 社交搜索提供访问推文、用户、关注者、图片、媒体等功能。<br/>`社交` `推特` `x` `搜索` |
|
|
220
|
+
| [通过 Serper 搜索 Google](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **Barry** on **2024-04-30**</sup> | 通过 Serper.dev 免费 API 进行 Google 搜索引擎(每月 2500 次🆓)<br/>`网络` `搜索` |
|
|
221
|
+
| [NFT Guru](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **swap** on **2024-04-03**</sup> | 发现主要平台上 NFT 的当前价格,并通过实时跟踪快速变化的市场了解情况<br/>`加密货币` `nft` |
|
|
222
|
+
| [日历助手](https://chat-preview.lobehub.com/settings/agent)<br/><sup>By **cc** on **2024-03-13**</sup> | 一个用于管理日历事件的插件 # 将自动生成工作流程中的 i18n<br/>`日历` `日程安排` `将自动生成工作流程中的-i-18-n` |
|
|
223
|
+
|
|
224
|
+
> 📊 Total plugins: [<kbd>**56**</kbd>](https://github.com/lobehub/lobe-chat-plugins)
|
|
225
225
|
|
|
226
226
|
<!-- PLUGIN LIST -->
|
|
227
227
|
|
package/locales/ar/common.json
CHANGED
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "تقديم ملاحظات",
|
|
30
30
|
"follow": "تابعنا على {{name}}",
|
|
31
|
+
"fullscreen": "وضع كامل الشاشة",
|
|
31
32
|
"historyRange": "نطاق التاريخ",
|
|
32
33
|
"import": "استيراد الإعدادات",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "مركز المساعدة",
|
|
169
170
|
"moveGuide": "تم نقل زر الإعدادات إلى هنا",
|
|
170
171
|
"plans": "خطط الاشتراك",
|
|
172
|
+
"preview": "المعاينة",
|
|
171
173
|
"profile": "إدارة الحساب",
|
|
172
174
|
"setting": "إعدادات التطبيق",
|
|
173
175
|
"usages": "إحصاءات الاستخدام"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "Обратна връзка",
|
|
30
30
|
"follow": "Следете ни на {{name}}",
|
|
31
|
+
"fullscreen": "Цял екран",
|
|
31
32
|
"historyRange": "Диапазон на историята",
|
|
32
33
|
"import": "Импортирай конфигурация",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "Център за помощ",
|
|
169
170
|
"moveGuide": "Бутонът за настройки е преместен тук",
|
|
170
171
|
"plans": "Планове за абонамент",
|
|
172
|
+
"preview": "Преглед",
|
|
171
173
|
"profile": "Управление на профила",
|
|
172
174
|
"setting": "Настройки на приложението",
|
|
173
175
|
"usages": "Статистика за използване"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "Feedback und Vorschläge",
|
|
30
30
|
"follow": "Folge uns auf {{name}}",
|
|
31
|
+
"fullscreen": "Vollbildmodus",
|
|
31
32
|
"historyRange": "Verlaufsbereich",
|
|
32
33
|
"import": "Importieren",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "Hilfezentrum",
|
|
169
170
|
"moveGuide": "Die Einstellungen wurden hierher verschoben.",
|
|
170
171
|
"plans": "Abonnementpläne",
|
|
172
|
+
"preview": "Vorschau",
|
|
171
173
|
"profile": "Kontoverwaltung",
|
|
172
174
|
"setting": "App-Einstellungen",
|
|
173
175
|
"usages": "Nutzungsstatistiken"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "Feedback",
|
|
30
30
|
"follow": "Follow us on {{name}}",
|
|
31
|
+
"fullscreen": "Full Screen Mode",
|
|
31
32
|
"historyRange": "History Range",
|
|
32
33
|
"import": "Import Configuration",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "Help Center",
|
|
169
170
|
"moveGuide": "The settings button has been moved here",
|
|
170
171
|
"plans": "Subscription Plans",
|
|
172
|
+
"preview": "Preview",
|
|
171
173
|
"profile": "Account Management",
|
|
172
174
|
"setting": "App Settings",
|
|
173
175
|
"usages": "Usage Statistics"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "Comentarios y sugerencias",
|
|
30
30
|
"follow": "Síguenos en {{name}}",
|
|
31
|
+
"fullscreen": "Pantalla completa",
|
|
31
32
|
"historyRange": "Rango de historial",
|
|
32
33
|
"import": "Importar configuración",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "Centro de ayuda",
|
|
169
170
|
"moveGuide": "El botón de configuración se ha movido aquí",
|
|
170
171
|
"plans": "Planes de suscripción",
|
|
172
|
+
"preview": "Vista previa",
|
|
171
173
|
"profile": "Gestión de cuenta",
|
|
172
174
|
"setting": "Configuración de la aplicación",
|
|
173
175
|
"usages": "Estadísticas de uso"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "Retour d'information et suggestions",
|
|
30
30
|
"follow": "Suivez-nous sur {{name}}",
|
|
31
|
+
"fullscreen": "Mode plein écran",
|
|
31
32
|
"historyRange": "Plage d'historique",
|
|
32
33
|
"import": "Importer",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "Centre d'aide",
|
|
169
170
|
"moveGuide": "Le bouton de configuration a été déplacé ici",
|
|
170
171
|
"plans": "Forfaits d'abonnement",
|
|
172
|
+
"preview": "Aperçu",
|
|
171
173
|
"profile": "Gestion du compte",
|
|
172
174
|
"setting": "Paramètres de l'application",
|
|
173
175
|
"usages": "Statistiques d'utilisation"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "Feedback e suggerimenti",
|
|
30
30
|
"follow": "Seguici su {{name}}",
|
|
31
|
+
"fullscreen": "Modalità a schermo intero",
|
|
31
32
|
"historyRange": "Intervallo cronologico",
|
|
32
33
|
"import": "Importa configurazione",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "Centro assistenza",
|
|
169
170
|
"moveGuide": "Il pulsante delle impostazioni è stato spostato qui",
|
|
170
171
|
"plans": "Piani di abbonamento",
|
|
172
|
+
"preview": "Anteprima",
|
|
171
173
|
"profile": "Gestione account",
|
|
172
174
|
"setting": "Impostazioni app",
|
|
173
175
|
"usages": "Statistiche di utilizzo"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "フィードバック",
|
|
30
30
|
"follow": " {{name}} で私たちをフォローする",
|
|
31
|
+
"fullscreen": "フルスクリーンモード",
|
|
31
32
|
"historyRange": "履歴範囲",
|
|
32
33
|
"import": "インポート",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "ヘルプセンター",
|
|
169
170
|
"moveGuide": "設定ボタンがこちらに移動しました",
|
|
170
171
|
"plans": "サブスクリプションプラン",
|
|
172
|
+
"preview": "プレビュー",
|
|
171
173
|
"profile": "アカウント管理",
|
|
172
174
|
"setting": "アプリ設定",
|
|
173
175
|
"usages": "利用量統計"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "피드백 및 제안",
|
|
30
30
|
"follow": "{{name}}에서 우리를 팔로우하세요",
|
|
31
|
+
"fullscreen": "전체 화면",
|
|
31
32
|
"historyRange": "기록 범위",
|
|
32
33
|
"import": "가져오기",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "도움말 센터",
|
|
169
170
|
"moveGuide": "설정 버튼을 여기로 이동했습니다",
|
|
170
171
|
"plans": "요금제",
|
|
172
|
+
"preview": "미리보기",
|
|
171
173
|
"profile": "계정 관리",
|
|
172
174
|
"setting": "앱 설정",
|
|
173
175
|
"usages": "사용량 통계"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "Feedback en suggesties",
|
|
30
30
|
"follow": "Volg ons op {{name}}",
|
|
31
|
+
"fullscreen": "Volledig scherm",
|
|
31
32
|
"historyRange": "Geschiedenisbereik",
|
|
32
33
|
"import": "Importeren",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "帮助中心",
|
|
169
170
|
"moveGuide": "De instellingenknop is hierheen verplaatst",
|
|
170
171
|
"plans": "订阅方案",
|
|
172
|
+
"preview": "Voorbeeld",
|
|
171
173
|
"profile": "账户管理",
|
|
172
174
|
"setting": "应用设置",
|
|
173
175
|
"usages": "用量统计"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "Opinie i sugestie",
|
|
30
30
|
"follow": "Zaobserwuj nas na {{name}}",
|
|
31
|
+
"fullscreen": "Tryb pełnoekranowy",
|
|
31
32
|
"historyRange": "Zakres historii",
|
|
32
33
|
"import": "Importuj ustawienia",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "Centrum pomocy",
|
|
169
170
|
"moveGuide": "Przenieś przycisk ustawień tutaj",
|
|
170
171
|
"plans": "Plan abonamentu",
|
|
172
|
+
"preview": "Podgląd",
|
|
171
173
|
"profile": "Zarządzanie kontem",
|
|
172
174
|
"setting": "Ustawienia aplikacji",
|
|
173
175
|
"usages": "Statystyki użycia"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "Feedback e sugestões",
|
|
30
30
|
"follow": "Siga-nos no {{name}}",
|
|
31
|
+
"fullscreen": "Modo de Tela Cheia",
|
|
31
32
|
"historyRange": "Intervalo de histórico",
|
|
32
33
|
"import": "Importar configuração",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "Central de Ajuda",
|
|
169
170
|
"moveGuide": "O botão de configurações foi movido para cá",
|
|
170
171
|
"plans": "Planos de Assinatura",
|
|
172
|
+
"preview": "Versão de visualização",
|
|
171
173
|
"profile": "Gerenciamento de Conta",
|
|
172
174
|
"setting": "Configurações do Aplicativo",
|
|
173
175
|
"usages": "Estatísticas de Uso"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "Обратная связь и предложения",
|
|
30
30
|
"follow": "Подпишитесь на нас на {{name}}",
|
|
31
|
+
"fullscreen": "Полноэкранный режим",
|
|
31
32
|
"historyRange": "История",
|
|
32
33
|
"import": "Импорт настроек",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "Центр помощи",
|
|
169
170
|
"moveGuide": "Кнопка настроек перемещена сюда",
|
|
170
171
|
"plans": "Планы подписки",
|
|
172
|
+
"preview": "Предпросмотр",
|
|
171
173
|
"profile": "Управление аккаунтом",
|
|
172
174
|
"setting": "Настройки приложения",
|
|
173
175
|
"usages": "Статистика использования"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "Feedback",
|
|
30
30
|
"follow": "Bizi {{name}} üzerinde takip edin",
|
|
31
|
+
"fullscreen": "Tam Ekran Modu",
|
|
31
32
|
"historyRange": "Geçmiş Aralığı",
|
|
32
33
|
"import": "İçe Aktar",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "Yardım Merkezi",
|
|
169
170
|
"moveGuide": "Ayarlar düğmesini buraya taşıyın",
|
|
170
171
|
"plans": "Planlar",
|
|
172
|
+
"preview": "Önizleme",
|
|
171
173
|
"profile": "Hesap Yönetimi",
|
|
172
174
|
"setting": "Uygulama Ayarları",
|
|
173
175
|
"usages": "Kullanım İstatistikleri"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "Phản hồi và đề xuất",
|
|
30
30
|
"follow": "Theo dõi chúng tôi trên {{name}}",
|
|
31
|
+
"fullscreen": "Chế độ toàn màn hình",
|
|
31
32
|
"historyRange": "Phạm vi lịch sử",
|
|
32
33
|
"import": "Nhập cấu hình",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "Trung tâm trợ giúp",
|
|
169
170
|
"moveGuide": "Đã di chuyển nút cài đặt đến đây",
|
|
170
171
|
"plans": "Kế hoạch đăng ký",
|
|
172
|
+
"preview": "Phiên bản xem trước",
|
|
171
173
|
"profile": "Quản lý tài khoản",
|
|
172
174
|
"setting": "Cài đặt ứng dụng",
|
|
173
175
|
"usages": "Thống kê sử dụng"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "反馈与建议",
|
|
30
30
|
"follow": "在 {{name}} 上关注我们",
|
|
31
|
+
"fullscreen": "全屏模式",
|
|
31
32
|
"historyRange": "历史范围",
|
|
32
33
|
"import": "导入配置",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "帮助中心",
|
|
169
170
|
"moveGuide": "设置按钮搬到这里啦",
|
|
170
171
|
"plans": "订阅方案",
|
|
172
|
+
"preview": "预览版",
|
|
171
173
|
"profile": "账户管理",
|
|
172
174
|
"setting": "应用设置",
|
|
173
175
|
"usages": "用量统计"
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"feedback": "回饋與建議",
|
|
30
30
|
"follow": "在 {{name}} 上關注我們",
|
|
31
|
+
"fullscreen": "全螢幕模式",
|
|
31
32
|
"historyRange": "歷史範圍",
|
|
32
33
|
"import": "匯入設定",
|
|
33
34
|
"importModal": {
|
|
@@ -168,6 +169,7 @@
|
|
|
168
169
|
"help": "幫助中心",
|
|
169
170
|
"moveGuide": "設置按鈕搬到這裡啦",
|
|
170
171
|
"plans": "訂閱方案",
|
|
172
|
+
"preview": "預覽",
|
|
171
173
|
"profile": "帳戶管理",
|
|
172
174
|
"setting": "應用設定",
|
|
173
175
|
"usages": "用量統計"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lobehub/chat",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.153.1",
|
|
4
4
|
"description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"framework",
|
|
@@ -1,55 +1,27 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { createStyles } from 'antd-style';
|
|
4
3
|
import { PropsWithChildren, memo } from 'react';
|
|
5
|
-
import {
|
|
4
|
+
import { Flexbox } from 'react-layout-kit';
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export const useStyles = createStyles(({ css, token, isDarkMode }) => ({
|
|
10
|
-
avatar: css`
|
|
11
|
-
z-index: 10;
|
|
12
|
-
|
|
13
|
-
flex: none;
|
|
14
|
-
|
|
15
|
-
margin-top: -${AVATAR_SIZE / 2 + 6}px;
|
|
6
|
+
import UserAvatar from '@/features/User/UserAvatar';
|
|
7
|
+
import UserInfo from '@/features/User/UserInfo';
|
|
16
8
|
|
|
17
|
-
|
|
18
|
-
border: 6px solid ${isDarkMode ? token.colorBgLayout : token.colorBgContainer};
|
|
19
|
-
border-radius: 50%;
|
|
20
|
-
`,
|
|
21
|
-
banner: css`
|
|
22
|
-
position: relative;
|
|
23
|
-
flex: none;
|
|
24
|
-
background: ${isDarkMode ? token.colorBgLayout : token.colorBgContainer};
|
|
25
|
-
`,
|
|
26
|
-
bannerBox: css`
|
|
27
|
-
position: relative;
|
|
9
|
+
import { useStyles } from './style';
|
|
28
10
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
width: 100%;
|
|
32
|
-
height: 100px;
|
|
33
|
-
|
|
34
|
-
background: ${token.colorBgLayout};
|
|
35
|
-
`,
|
|
36
|
-
bannerImg: css`
|
|
37
|
-
position: absolute;
|
|
38
|
-
scale: 5;
|
|
39
|
-
filter: blur(24px) saturate(2);
|
|
40
|
-
`,
|
|
41
|
-
}));
|
|
11
|
+
export const AVATAR_SIZE = 80;
|
|
42
12
|
|
|
43
|
-
const AvatarBanner = memo<PropsWithChildren>((
|
|
13
|
+
const AvatarBanner = memo<PropsWithChildren>(() => {
|
|
44
14
|
const { styles } = useStyles();
|
|
45
15
|
|
|
46
16
|
return (
|
|
47
|
-
|
|
17
|
+
<>
|
|
48
18
|
<Flexbox align={'center'} className={styles.bannerBox} justify={'center'}>
|
|
49
|
-
<div className={styles.bannerImg}>
|
|
19
|
+
<div className={styles.bannerImg}>
|
|
20
|
+
<UserAvatar shape={'square'} size={AVATAR_SIZE} />
|
|
21
|
+
</div>
|
|
50
22
|
</Flexbox>
|
|
51
|
-
<
|
|
52
|
-
|
|
23
|
+
<UserInfo className={styles.info} />
|
|
24
|
+
</>
|
|
53
25
|
);
|
|
54
26
|
});
|
|
55
27
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { ActionIcon, MobileNavBar } from '@lobehub/ui';
|
|
4
|
+
import { useScroll } from 'ahooks';
|
|
5
|
+
import { useTheme } from 'antd-style';
|
|
6
|
+
import { Moon, Sun } from 'lucide-react';
|
|
7
|
+
import { memo } from 'react';
|
|
8
|
+
|
|
9
|
+
import { MOBILE_HEADER_ICON_SIZE } from '@/const/layoutTokens';
|
|
10
|
+
import { useUserStore } from '@/store/user';
|
|
11
|
+
import { mobileHeaderFixed } from '@/styles/mobileHeader';
|
|
12
|
+
|
|
13
|
+
const Header = memo(() => {
|
|
14
|
+
const theme = useTheme();
|
|
15
|
+
const scroll = useScroll(() => document.querySelector('#lobe-mobile-scroll-container'));
|
|
16
|
+
const switchThemeMode = useUserStore((s) => s.switchThemeMode);
|
|
17
|
+
const showBackground = (scroll as any)?.top > 44;
|
|
18
|
+
|
|
19
|
+
return (
|
|
20
|
+
<MobileNavBar
|
|
21
|
+
right={
|
|
22
|
+
<ActionIcon
|
|
23
|
+
color={showBackground ? undefined : theme.colorBgLayout}
|
|
24
|
+
icon={theme.isDarkMode ? Moon : Sun}
|
|
25
|
+
onClick={() => switchThemeMode(theme.isDarkMode ? 'light' : 'dark')}
|
|
26
|
+
size={MOBILE_HEADER_ICON_SIZE}
|
|
27
|
+
/>
|
|
28
|
+
}
|
|
29
|
+
style={{
|
|
30
|
+
...mobileHeaderFixed,
|
|
31
|
+
background: showBackground ? undefined : 'transparent',
|
|
32
|
+
}}
|
|
33
|
+
/>
|
|
34
|
+
);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
export default Header;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createStyles } from 'antd-style';
|
|
2
|
+
|
|
3
|
+
export const useStyles = createStyles(({ css, token, isDarkMode }) => ({
|
|
4
|
+
bannerBox: css`
|
|
5
|
+
position: relative;
|
|
6
|
+
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
flex: none;
|
|
9
|
+
|
|
10
|
+
width: 100%;
|
|
11
|
+
height: 100px;
|
|
12
|
+
|
|
13
|
+
background: ${token.colorFill};
|
|
14
|
+
`,
|
|
15
|
+
bannerImg: css`
|
|
16
|
+
position: absolute;
|
|
17
|
+
scale: 8;
|
|
18
|
+
filter: blur(6px) saturate(2);
|
|
19
|
+
`,
|
|
20
|
+
info: css`
|
|
21
|
+
position: relative;
|
|
22
|
+
|
|
23
|
+
margin-top: ${-token.borderRadiusLG}px;
|
|
24
|
+
|
|
25
|
+
background: ${isDarkMode ? token.colorBgLayout : token.colorBgContainer};
|
|
26
|
+
border-top-left-radius: ${token.borderRadiusLG}px;
|
|
27
|
+
border-top-right-radius: ${token.borderRadiusLG}px;
|
|
28
|
+
`,
|
|
29
|
+
}));
|
|
@@ -2,8 +2,14 @@ import { PropsWithChildren } from 'react';
|
|
|
2
2
|
|
|
3
3
|
import MobileContentLayout from '@/components/server/MobileNavLayout';
|
|
4
4
|
|
|
5
|
+
import Header from './features/Header';
|
|
6
|
+
|
|
5
7
|
const Layout = ({ children }: PropsWithChildren) => {
|
|
6
|
-
return
|
|
8
|
+
return (
|
|
9
|
+
<MobileContentLayout header={<Header />} withNav>
|
|
10
|
+
{children}
|
|
11
|
+
</MobileContentLayout>
|
|
12
|
+
);
|
|
7
13
|
};
|
|
8
14
|
|
|
9
15
|
Layout.displayName = 'MeLayout';
|
|
@@ -1,17 +1,32 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { Skeleton } from 'antd';
|
|
4
|
-
import {
|
|
4
|
+
import { memo } from 'react';
|
|
5
|
+
import { Flexbox } from 'react-layout-kit';
|
|
5
6
|
|
|
6
7
|
import SkeletonLoading from '@/components/SkeletonLoading';
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
import { useStyles } from './features/style';
|
|
10
|
+
|
|
11
|
+
const Loading = memo(() => {
|
|
12
|
+
const { styles } = useStyles();
|
|
9
13
|
return (
|
|
10
14
|
<>
|
|
11
|
-
<
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
<Flexbox align={'center'} className={styles.bannerBox} justify={'center'} />
|
|
16
|
+
<Flexbox
|
|
17
|
+
align={'center'}
|
|
18
|
+
className={styles.info}
|
|
19
|
+
gap={12}
|
|
20
|
+
horizontal
|
|
21
|
+
paddingBlock={12}
|
|
22
|
+
paddingInline={12}
|
|
23
|
+
>
|
|
24
|
+
<Skeleton.Avatar active shape={'circle'} size={48} />
|
|
25
|
+
<Skeleton active paragraph={{ rows: 1 }} title={false} />
|
|
26
|
+
</Flexbox>
|
|
27
|
+
<SkeletonLoading active paragraph={{ rows: 8 }} title={false} />
|
|
15
28
|
</>
|
|
16
29
|
);
|
|
17
|
-
};
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
export default Loading;
|
|
@@ -2,10 +2,10 @@ import { redirect } from 'next/navigation';
|
|
|
2
2
|
import { Center } from 'react-layout-kit';
|
|
3
3
|
|
|
4
4
|
import BrandWatermark from '@/components/BrandWatermark';
|
|
5
|
-
import
|
|
5
|
+
import Divider from '@/components/Cell/Divider';
|
|
6
6
|
import { isMobileDevice } from '@/utils/responsive';
|
|
7
7
|
|
|
8
|
-
import AvatarBanner
|
|
8
|
+
import AvatarBanner from './features/AvatarBanner';
|
|
9
9
|
import Cate from './features/Cate';
|
|
10
10
|
import ExtraCate from './features/ExtraCate';
|
|
11
11
|
|
|
@@ -16,9 +16,8 @@ const Page = () => {
|
|
|
16
16
|
|
|
17
17
|
return (
|
|
18
18
|
<>
|
|
19
|
-
<AvatarBanner
|
|
20
|
-
|
|
21
|
-
</AvatarBanner>
|
|
19
|
+
<AvatarBanner />
|
|
20
|
+
<Divider />
|
|
22
21
|
<Cate />
|
|
23
22
|
<ExtraCate />
|
|
24
23
|
<Center padding={16}>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { Icon, MobileTabBar, type MobileTabBarProps } from '@lobehub/ui';
|
|
4
4
|
import { createStyles } from 'antd-style';
|
|
5
|
-
import {
|
|
5
|
+
import { Compass, MessageSquare, User } from 'lucide-react';
|
|
6
6
|
import { useRouter } from 'next/navigation';
|
|
7
7
|
import { rgba } from 'polished';
|
|
8
8
|
import { memo, useMemo } from 'react';
|
|
@@ -44,7 +44,7 @@ const Nav = memo(() => {
|
|
|
44
44
|
title: t('tab.chat'),
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
|
-
icon: (active) => <Icon className={active ? styles.active : undefined} icon={
|
|
47
|
+
icon: (active) => <Icon className={active ? styles.active : undefined} icon={Compass} />,
|
|
48
48
|
key: SidebarTabKey.Market,
|
|
49
49
|
onClick: () => {
|
|
50
50
|
router.push('/market');
|