From 8ee4d0cbdcb6a0e75be7751e27814dd3c57719ed Mon Sep 17 00:00:00 2001 From: Lily Delalande <119957291+lily-de@users.noreply.github.com> Date: Thu, 20 Mar 2025 16:45:45 -0400 Subject: [PATCH] tweak darkmode for modal (#1797) --- .../extensions/modal/EnvVarsSection.tsx | 6 +- .../extensions/modal/ExtensionInfoFields.tsx | 57 +++++++++++++++++++ .../extensions/modal/ExtensionModal.tsx | 49 +++------------- 3 files changed, 69 insertions(+), 43 deletions(-) create mode 100644 ui/desktop/src/components/settings_v2/extensions/modal/ExtensionInfoFields.tsx diff --git a/ui/desktop/src/components/settings_v2/extensions/modal/EnvVarsSection.tsx b/ui/desktop/src/components/settings_v2/extensions/modal/EnvVarsSection.tsx index d79cb3a6..39d95e28 100644 --- a/ui/desktop/src/components/settings_v2/extensions/modal/EnvVarsSection.tsx +++ b/ui/desktop/src/components/settings_v2/extensions/modal/EnvVarsSection.tsx @@ -45,7 +45,7 @@ export default function EnvVarsSection({ value={envVar.key} onChange={(e) => onChange(index, 'key', e.target.value)} placeholder="Variable name" - className={`w-full bg-bgSubtle border-borderSubtle text-textStandard`} + className={`w-full border-borderSubtle text-textStandard`} />
@@ -53,7 +53,7 @@ export default function EnvVarsSection({ value={envVar.value} onChange={(e) => onChange(index, 'value', e.target.value)} placeholder="Value" - className={`w-full bg-bgSubtle border-borderSubtle text-textStandard`} + className={`w-full border-borderSubtle text-textStandard`} />
diff --git a/ui/desktop/src/components/settings_v2/extensions/modal/ExtensionInfoFields.tsx b/ui/desktop/src/components/settings_v2/extensions/modal/ExtensionInfoFields.tsx new file mode 100644 index 00000000..b0bf0b74 --- /dev/null +++ b/ui/desktop/src/components/settings_v2/extensions/modal/ExtensionInfoFields.tsx @@ -0,0 +1,57 @@ +import { Input } from '../../../ui/input'; +import Select from 'react-select'; +import React, { useState } from 'react'; + +interface ExtensionInfoFieldsProps { + name: string; + type: 'stdio' | 'sse' | 'builtin'; + onChange: (key: string, value: any) => void; + submitAttempted: boolean; +} + +export default function ExtensionInfoFields({ + name, + type, + onChange, + submitAttempted, +}: ExtensionInfoFieldsProps) { + const isNameValid = () => { + return name.trim() !== ''; + }; + + return ( +
+
+ +
+ onChange('name', e.target.value)} + placeholder="Enter extension name..." + className={`${!submitAttempted || isNameValid() ? 'border-borderSubtle' : 'border-red-500'} text-textStandard focus:border-borderStandard`} + /> + {submitAttempted && !isNameValid() && ( +
Name is required
+ )} +
+
+ {/* Type Dropdown */} +
+ + setFormData({ ...formData, name: e.target.value })} - placeholder="Enter extension name..." - className={`${!submitAttempted || formData.name.trim() !== '' ? 'border-borderSubtle' : 'border-red-500'} text-textStandard focus:border-borderStandard`} - /> - {submitAttempted && !isNameValid() && ( -
Name is required
- )} -
-
- {/*Type Dropdown */} -
- -