|
8 | 8 | SheetTitle, |
9 | 9 | } from '@/components/ui/sheet' |
10 | 10 | import { Badge } from '@/components/ui/badge' |
11 | | -import { Globe, Github, Package, Code, User, Layers, Shield } from 'lucide-vue-next' |
| 11 | +import { Globe, Github, Code, User, Layers } from 'lucide-vue-next' |
| 12 | +import McpServerInfoSpecifications from '@/components/mcp-server/view/McpServerInfoSpecifications.vue' |
12 | 13 | import type { McpServer } from '@/views/admin/mcp-server-catalog/types' |
13 | 14 |
|
14 | 15 | interface Props { |
@@ -124,43 +125,28 @@ const open = defineModel<boolean>('open', { required: true }) |
124 | 125 | </div> |
125 | 126 |
|
126 | 127 | <!-- Specifications Section --> |
127 | | - <div class="space-y-4 pt-4 border-t border-gray-200"> |
128 | | - <h3 class="text-sm font-semibold text-gray-900">Specifications</h3> |
129 | | - |
130 | | - <!-- Requires OAuth --> |
131 | | - <div v-if="server.requires_oauth" class="space-y-1"> |
132 | | - <dt class="text-xs font-medium text-gray-500 flex items-center gap-1"> |
133 | | - <Shield class="h-3 w-3" /> |
134 | | - Authentication |
135 | | - </dt> |
136 | | - <dd class="text-sm"> |
137 | | - <Badge variant="default" class="text-xs"> |
138 | | - Requires OAuth |
139 | | - </Badge> |
140 | | - </dd> |
141 | | - </div> |
142 | | - |
143 | | - <!-- Packages (if runtime !== 'http') --> |
144 | | - <div v-if="server.runtime !== 'http' && server.packages" class="space-y-1"> |
145 | | - <dt class="text-xs font-medium text-gray-500 flex items-center gap-1"> |
146 | | - <Package class="h-3 w-3" /> |
147 | | - Packages |
148 | | - </dt> |
149 | | - <dd class="text-sm"> |
150 | | - <pre class="bg-gray-50 border border-gray-200 rounded p-3 text-xs overflow-x-auto">{{ JSON.stringify(server.packages, null, 2) }}</pre> |
151 | | - </dd> |
152 | | - </div> |
153 | | - |
154 | | - <!-- Remotes (if runtime === 'http') --> |
155 | | - <div v-if="server.runtime === 'http' && server.remotes" class="space-y-1"> |
156 | | - <dt class="text-xs font-medium text-gray-500 flex items-center gap-1"> |
157 | | - <Globe class="h-3 w-3" /> |
158 | | - Remotes |
159 | | - </dt> |
160 | | - <dd class="text-sm"> |
161 | | - <pre class="bg-gray-50 border border-gray-200 rounded p-3 text-xs overflow-x-auto">{{ JSON.stringify(server.remotes, null, 2) }}</pre> |
162 | | - </dd> |
163 | | - </div> |
| 128 | + <div v-if="server.requires_oauth || (server.runtime !== 'http' && server.packages) || (server.runtime === 'http' && server.remotes)" class="pt-4 border-t border-gray-200"> |
| 129 | + <McpServerInfoSpecifications |
| 130 | + :requires-oauth="server.requires_oauth" |
| 131 | + :runtime="server.runtime" |
| 132 | + :packages="server.packages" |
| 133 | + :remotes="server.remotes" |
| 134 | + |
| 135 | + :template-args="server.template_args" |
| 136 | + :template-env="server.template_env" |
| 137 | + :template-headers="server.template_headers" |
| 138 | + :template-url-query-params="server.template_url_query_params" |
| 139 | + |
| 140 | + :team-args-schema="server.team_args_schema" |
| 141 | + :team-env-schema="server.team_env_schema" |
| 142 | + :team-headers-schema="server.team_headers_schema" |
| 143 | + :team-url-query-params-schema="server.team_url_query_params_schema" |
| 144 | + |
| 145 | + :user-args-schema="server.user_args_schema" |
| 146 | + :user-env-schema="server.user_env_schema" |
| 147 | + :user-headers-schema="server.user_headers_schema" |
| 148 | + :user-url-query-params-schema="server.user_url_query_params_schema" |
| 149 | + /> |
164 | 150 | </div> |
165 | 151 | </div> |
166 | 152 |
|
|
0 commit comments