From ba875552a66789f4a0f716b9a2ca474b2cfa316a Mon Sep 17 00:00:00 2001 From: Jason Date: Sat, 29 Nov 2025 17:41:12 +0800 Subject: [PATCH] style(mcp): align wizard modal with confirm dialog styling - Use zIndex="alert" and semi-transparent overlay for consistency - Apply border-b-0/border-t-0 bg-transparent to header/footer - Replace emerald accent with blue to match app theme - Use Input component instead of raw input elements - Simplify button variants (outline for cancel) --- src/components/mcp/McpWizardModal.tsx | 51 +++++++++++++++------------ 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/src/components/mcp/McpWizardModal.tsx b/src/components/mcp/McpWizardModal.tsx index f30e90f2..bbfc8e7b 100644 --- a/src/components/mcp/McpWizardModal.tsx +++ b/src/components/mcp/McpWizardModal.tsx @@ -3,6 +3,7 @@ import { useTranslation } from "react-i18next"; import { toast } from "sonner"; import { Save } from "lucide-react"; import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; import { Dialog, DialogContent, @@ -224,16 +225,22 @@ const McpWizardModal: React.FC = ({ return ( !open && handleClose()}> - - - {t("mcp.wizard.title")} + + + + {t("mcp.wizard.title")} + {/* Content */}
{/* Hint */} -
-

+

+

{t("mcp.wizard.hint")}

@@ -254,7 +261,7 @@ const McpWizardModal: React.FC = ({ onChange={(e) => setWizardType(e.target.value as "stdio" | "http" | "sse") } - className="w-4 h-4 text-emerald-500 bg-white dark:bg-gray-800 border-border-default focus:ring-emerald-500 dark:focus:ring-emerald-400 focus:ring-2" + className="w-4 h-4 accent-blue-500" /> {t("mcp.wizard.typeStdio")} @@ -268,7 +275,7 @@ const McpWizardModal: React.FC = ({ onChange={(e) => setWizardType(e.target.value as "stdio" | "http" | "sse") } - className="w-4 h-4 text-emerald-500 bg-white dark:bg-gray-800 border-border-default focus:ring-emerald-500 dark:focus:ring-emerald-400 focus:ring-2" + className="w-4 h-4 accent-blue-500" /> {t("mcp.wizard.typeHttp")} @@ -282,7 +289,7 @@ const McpWizardModal: React.FC = ({ onChange={(e) => setWizardType(e.target.value as "stdio" | "http" | "sse") } - className="w-4 h-4 text-emerald-500 bg-white dark:bg-gray-800 border-border-default focus:ring-emerald-500 dark:focus:ring-emerald-400 focus:ring-2" + className="w-4 h-4 accent-blue-500" /> {t("mcp.wizard.typeSse")} @@ -296,13 +303,13 @@ const McpWizardModal: React.FC = ({ - setWizardTitle(e.target.value)} onKeyDown={handleKeyDown} placeholder={t("mcp.form.titlePlaceholder")} - className="w-full rounded-lg border border-border-default px-3 py-2 text-sm font-mono focus:outline-none focus:ring-2 focus:ring-emerald-500/20 dark:bg-gray-800 dark:text-gray-100" + className="font-mono" />
@@ -315,13 +322,13 @@ const McpWizardModal: React.FC = ({ {t("mcp.wizard.command")}{" "} * - setWizardCommand(e.target.value)} onKeyDown={handleKeyDown} placeholder={t("mcp.wizard.commandPlaceholder")} - className="w-full rounded-lg border border-border-default px-3 py-2 text-sm font-mono focus:outline-none focus:ring-2 focus:ring-emerald-500/20 dark:bg-gray-800 dark:text-gray-100" + className="font-mono" />
@@ -335,7 +342,7 @@ const McpWizardModal: React.FC = ({ onChange={(e) => setWizardArgs(e.target.value)} placeholder={t("mcp.wizard.argsPlaceholder")} rows={3} - className="w-full rounded-lg border border-border-default px-3 py-2 text-sm font-mono focus:outline-none focus:ring-2 focus:ring-emerald-500/20 dark:bg-gray-800 dark:text-gray-100 resize-y" + className="w-full rounded-md border border-border-default bg-white dark:bg-gray-800 px-3 py-2 text-sm font-mono text-gray-900 dark:text-gray-100 placeholder:text-gray-400 dark:placeholder:text-gray-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20 resize-y" /> @@ -349,7 +356,7 @@ const McpWizardModal: React.FC = ({ onChange={(e) => setWizardEnv(e.target.value)} placeholder={t("mcp.wizard.envPlaceholder")} rows={3} - className="w-full rounded-lg border border-border-default px-3 py-2 text-sm font-mono focus:outline-none focus:ring-2 focus:ring-emerald-500/20 dark:bg-gray-800 dark:text-gray-100 resize-y" + className="w-full rounded-md border border-border-default bg-white dark:bg-gray-800 px-3 py-2 text-sm font-mono text-gray-900 dark:text-gray-100 placeholder:text-gray-400 dark:placeholder:text-gray-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20 resize-y" /> @@ -364,13 +371,13 @@ const McpWizardModal: React.FC = ({ {t("mcp.wizard.url")}{" "} * - setWizardUrl(e.target.value)} onKeyDown={handleKeyDown} placeholder={t("mcp.wizard.urlPlaceholder")} - className="w-full rounded-lg border border-border-default px-3 py-2 text-sm font-mono focus:outline-none focus:ring-2 focus:ring-emerald-500/20 dark:bg-gray-800 dark:text-gray-100" + className="font-mono" /> @@ -384,7 +391,7 @@ const McpWizardModal: React.FC = ({ onChange={(e) => setWizardHeaders(e.target.value)} placeholder={t("mcp.wizard.headersPlaceholder")} rows={3} - className="w-full rounded-lg border border-border-default px-3 py-2 text-sm font-mono focus:outline-none focus:ring-2 focus:ring-emerald-500/20 dark:bg-gray-800 dark:text-gray-100 resize-y" + className="w-full rounded-md border border-border-default bg-white dark:bg-gray-800 px-3 py-2 text-sm font-mono text-gray-900 dark:text-gray-100 placeholder:text-gray-400 dark:placeholder:text-gray-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20 resize-y" /> @@ -397,11 +404,11 @@ const McpWizardModal: React.FC = ({ wizardEnv || wizardUrl || wizardHeaders) && ( -
+

{t("mcp.wizard.preview")}

-
+              
                 {preview}
               
@@ -409,11 +416,11 @@ const McpWizardModal: React.FC = ({
{/* Footer */} - - -