feat(web): refactor MCP servers as sidebar entities and improve sidebar footer

- Refactor MCP servers to be managed as collapsible sidebar sub-items with
  ?id= detail routing and inline form (matching bots/pipelines pattern)
- Add MCPDetailContent with create/edit modes, enable toggle, and danger zone
- Extract MCPForm as standalone inline form from MCPFormDialog
- Move API Integration to standalone sidebar footer button
- Add GitHub star CTA with live star count badge in user dropdown menu
- Add MCP server status dot indicators in sidebar (green/gray for enabled/disabled)
- Add i18n keys for MCP detail page and GitHub star CTA in all 4 locales
This commit is contained in:
Junyan Qin
2026-03-27 19:59:34 +08:00
parent 4902c1d3b2
commit 23fa47b07e
11 changed files with 1359 additions and 100 deletions

View File

@@ -29,6 +29,7 @@ const enUS = {
language: 'Language',
helpDocs: 'Get Help',
featureRequest: 'Feature Request',
starOnGitHub: 'Star on GitHub',
create: 'Create',
edit: 'Edit',
delete: 'Delete',
@@ -612,6 +613,13 @@ const enUS = {
sseTimeoutNonNegative: 'SSE timeout cannot be negative',
updateSuccess: 'Updated successfully',
updateFailed: 'Update failed: ',
selectFromSidebar: 'Select an MCP server from the sidebar',
dangerZone: 'Danger Zone',
dangerZoneDescription:
'Irreversible and destructive actions for this MCP server.',
deleteMCPAction: 'Delete this MCP server',
deleteMCPHint:
'Once deleted, this MCP server configuration cannot be recovered.',
},
pipelines: {
title: 'Pipelines',

View File

@@ -30,6 +30,7 @@
language: '言語',
helpDocs: 'ヘルプドキュメント',
featureRequest: '機能リクエスト',
starOnGitHub: 'GitHubでStarする',
create: '作成',
edit: '編集',
delete: '削除',
@@ -613,6 +614,11 @@
sseTimeoutNonNegative: 'SSEタイムアウトは負の数にできません',
updateSuccess: '更新に成功しました',
updateFailed: '更新に失敗しました:',
selectFromSidebar: 'サイドバーからMCPサーバーを選択してください',
dangerZone: '危険ゾーン',
dangerZoneDescription: 'このMCPサーバーに対する不可逆的な操作です。',
deleteMCPAction: 'このMCPサーバーを削除',
deleteMCPHint: '削除すると、このMCPサーバーの設定は復元できません。',
},
pipelines: {
title: 'パイプライン',

View File

@@ -28,6 +28,7 @@ const zhHans = {
language: '语言',
helpDocs: '帮助文档',
featureRequest: '需求建议',
starOnGitHub: '在 GitHub 上 Star',
create: '创建',
edit: '编辑',
delete: '删除',
@@ -584,6 +585,11 @@ const zhHans = {
sseTimeoutNonNegative: 'SSE超时时间不能为负数',
updateSuccess: '更新成功',
updateFailed: '更新失败:',
selectFromSidebar: '从侧边栏选择一个 MCP 服务器',
dangerZone: '危险区域',
dangerZoneDescription: '此 MCP 服务器的不可逆操作。',
deleteMCPAction: '删除此 MCP 服务器',
deleteMCPHint: '删除后,此 MCP 服务器配置将无法恢复。',
},
pipelines: {
title: '流水线',

View File

@@ -28,6 +28,7 @@ const zhHant = {
language: '語言',
helpDocs: '輔助說明',
featureRequest: '需求建議',
starOnGitHub: '在 GitHub 上 Star',
create: '建立',
edit: '編輯',
delete: '刪除',
@@ -577,6 +578,11 @@ const zhHant = {
sseTimeoutNonNegative: 'SSE逾時時間不能為負數',
updateSuccess: '更新成功',
updateFailed: '更新失敗:',
selectFromSidebar: '從側邊欄選擇一個 MCP 伺服器',
dangerZone: '危險區域',
dangerZoneDescription: '此 MCP 伺服器的不可逆操作。',
deleteMCPAction: '刪除此 MCP 伺服器',
deleteMCPHint: '刪除後,此 MCP 伺服器設定將無法恢復。',
},
pipelines: {
title: '流程線',