From 5f9543f6fc55a4aa71951c5c2df9ac93967e7b4b Mon Sep 17 00:00:00 2001 From: Marco Beretta <81851188+berry-13@users.noreply.github.com> Date: Wed, 5 Feb 2025 22:35:07 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20fix:=20enhance=20UI/UX?= =?UTF-8?q?=20and=20address=20a11y=20issues=20in=20SetKeyDialog=20(#5672)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ✨ refactor: Improve UI consistency and accessibility in SetKeyDialog components * 🎨 style: Add cursor pointer to Slider component for better UX * 🐛 chore: Remove unnecessary console log from SetKeyDialog component --- .../Input/SetKeyDialog/GoogleConfig.tsx | 4 +-- .../Input/SetKeyDialog/HelpText.tsx | 35 +++---------------- .../Input/SetKeyDialog/InputWithLabel.tsx | 6 ++-- .../Input/SetKeyDialog/SetKeyDialog.tsx | 3 +- client/src/components/ui/Dropdown.tsx | 4 ++- client/src/components/ui/OGDialogTemplate.tsx | 8 ++++- client/src/components/ui/Slider.tsx | 5 ++- 7 files changed, 25 insertions(+), 40 deletions(-) diff --git a/client/src/components/Input/SetKeyDialog/GoogleConfig.tsx b/client/src/components/Input/SetKeyDialog/GoogleConfig.tsx index 51abdd0055..c6f2eafd24 100644 --- a/client/src/components/Input/SetKeyDialog/GoogleConfig.tsx +++ b/client/src/components/Input/SetKeyDialog/GoogleConfig.tsx @@ -28,9 +28,9 @@ const GoogleConfig = ({ userKey, setUserKey }: Pick {localize('com_endpoint_config_google_service_key')} -
+
+
- {localize('com_endpoint_config_key_chatgpt')}{' '} - - https://chat.openai.com - - {', '} - {localize('com_endpoint_config_key_chatgpt_then_visit')}{' '} - - https://chat.openai.com/api/auth/session - - {'. '} - {localize('com_endpoint_config_key_chatgpt_copy_token')} - - ), [EModelEndpoint.google]: ( <> - + {localize('com_endpoint_config_google_service_key')} {': '} {localize('com_endpoint_config_key_google_need_to')}{' '} @@ -40,7 +15,7 @@ function HelpText({ endpoint }: { endpoint: string }) { target="_blank" href="https://console.cloud.google.com/vertex-ai" rel="noreferrer" - className="text-blue-600 underline" + className="text-blue-700 underline dark:text-blue-400" > {localize('com_endpoint_config_key_google_vertex_ai')} {' '} @@ -49,14 +24,14 @@ function HelpText({ endpoint }: { endpoint: string }) { target="_blank" href="https://console.cloud.google.com/projectselector/iam-admin/serviceaccounts/create?walkthrough_id=iam--create-service-account#step_index=1" rel="noreferrer" - className="text-blue-600 underline" + className="text-blue-700 underline dark:text-blue-400" > {localize('com_endpoint_config_key_google_service_account')} {'. '} {localize('com_endpoint_config_key_google_vertex_api_role')} - + {localize('com_endpoint_config_google_api_key')} {': '} {localize('com_endpoint_config_google_api_info')}{' '} @@ -64,7 +39,7 @@ function HelpText({ endpoint }: { endpoint: string }) { target="_blank" href="https://makersuite.google.com/app/apikey" rel="noreferrer" - className="text-blue-600 underline" + className="text-blue-700 underline dark:text-blue-400" > {localize('com_endpoint_config_click_here')} {' '} diff --git a/client/src/components/Input/SetKeyDialog/InputWithLabel.tsx b/client/src/components/Input/SetKeyDialog/InputWithLabel.tsx index 9517f91737..a45ab02325 100644 --- a/client/src/components/Input/SetKeyDialog/InputWithLabel.tsx +++ b/client/src/components/Input/SetKeyDialog/InputWithLabel.tsx @@ -20,13 +20,11 @@ const InputWithLabel: FC = forwardRef((props, ref) => { const localize = useLocalize(); return ( <> -
+
- {subLabel && ( -
{subLabel}
- )} + {Label && }
diff --git a/client/src/components/Input/SetKeyDialog/SetKeyDialog.tsx b/client/src/components/Input/SetKeyDialog/SetKeyDialog.tsx index 5706265feb..0cd8cf3d72 100644 --- a/client/src/components/Input/SetKeyDialog/SetKeyDialog.tsx +++ b/client/src/components/Input/SetKeyDialog/SetKeyDialog.tsx @@ -163,7 +163,7 @@ const SetKeyDialog = ({ @@ -180,6 +180,7 @@ const SetKeyDialog = ({ onChange={handleExpirationChange} options={expirationOptions.map((option) => option.label)} sizeClasses="w-[185px]" + portal={false} />
diff --git a/client/src/components/ui/Dropdown.tsx b/client/src/components/ui/Dropdown.tsx index 1f3ab1e534..559bb6555b 100644 --- a/client/src/components/ui/Dropdown.tsx +++ b/client/src/components/ui/Dropdown.tsx @@ -15,6 +15,7 @@ interface DropdownProps { iconOnly?: boolean; renderValue?: (option: Option) => React.ReactNode; ariaLabel?: string; + portal?: boolean; } const isDivider = (item: string | Option | { divider: true }): item is { divider: true } => @@ -35,6 +36,7 @@ const Dropdown: React.FC = ({ iconOnly = false, renderValue, ariaLabel, + portal = true, }) => { const handleChange = (value: string) => { onChange(value); @@ -93,7 +95,7 @@ const Dropdown: React.FC = ({ {!iconOnly && } diff --git a/client/src/components/ui/OGDialogTemplate.tsx b/client/src/components/ui/OGDialogTemplate.tsx index fb17e1ee8b..c0602e60ca 100644 --- a/client/src/components/ui/OGDialogTemplate.tsx +++ b/client/src/components/ui/OGDialogTemplate.tsx @@ -76,7 +76,13 @@ const OGDialogTemplate = forwardRef((props: DialogTemplateProps, ref: Ref
{main != null ? main : null}
-
{leftButtons != null ?
{leftButtons}
: null}
+
+ {leftButtons != null ? ( +
+ {leftButtons} +
+ ) : null} +
{buttons != null ? buttons : null} {showCancelButton && ( diff --git a/client/src/components/ui/Slider.tsx b/client/src/components/ui/Slider.tsx index 69874801b4..74908b4e62 100644 --- a/client/src/components/ui/Slider.tsx +++ b/client/src/components/ui/Slider.tsx @@ -8,7 +8,10 @@ const Slider = React.forwardRef< >(({ className, onDoubleClick, ...props }, ref) => (