From 0c5568b80b0996c7276b839f29bd7d12dc473a80 Mon Sep 17 00:00:00 2001 From: Marco Beretta <81851188+berry-13@users.noreply.github.com> Date: Thu, 22 Aug 2024 00:19:33 +0200 Subject: [PATCH] =?UTF-8?q?=E2=8C=A8=EF=B8=8F=20style(a11y):=20kb=20access?= =?UTF-8?q?=20for=20LLM=20endpoint=20menu;=20refactor:=20style=20(#3714)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Chat/Input/HeaderOptions.tsx | 13 ++++----- .../Chat/Menus/Endpoints/MenuItem.tsx | 10 ++----- .../src/components/Chat/Menus/PresetsMenu.tsx | 14 ++++----- .../components/Chat/Menus/UI/TitleButton.tsx | 29 +++++++------------ .../Plugins/Store/PluginStoreDialog.tsx | 5 ++-- client/src/style.css | 27 ++++++++++++----- 6 files changed, 48 insertions(+), 50 deletions(-) diff --git a/client/src/components/Chat/Input/HeaderOptions.tsx b/client/src/components/Chat/Input/HeaderOptions.tsx index 7094cbe1f5..ae28ae1623 100644 --- a/client/src/components/Chat/Input/HeaderOptions.tsx +++ b/client/src/components/Chat/Input/HeaderOptions.tsx @@ -84,14 +84,13 @@ export default function HeaderOptions({ )} {!noSettings[endpoint] && interfaceConfig?.parameters && ( diff --git a/client/src/components/Chat/Menus/Endpoints/MenuItem.tsx b/client/src/components/Chat/Menus/Endpoints/MenuItem.tsx index 68b3e3a74e..3ee52c5f3f 100644 --- a/client/src/components/Chat/Menus/Endpoints/MenuItem.tsx +++ b/client/src/components/Chat/Menus/Endpoints/MenuItem.tsx @@ -97,11 +97,8 @@ const MenuItem: FC = ({
= ({ className={cn( 'invisible flex gap-x-1 group-hover:visible', selected ? 'visible' : '', - expiryTime - ? 'w-full rounded-lg p-2 hover:text-gray-400 dark:hover:text-gray-400' - : '', - 'focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-offset-2 dark:focus:ring-gray-400 dark:focus:ring-offset-gray-900', + expiryTime ? 'text-token-text-primary w-full rounded-lg p-2' : '', )} onClick={(e) => { e.preventDefault(); diff --git a/client/src/components/Chat/Menus/PresetsMenu.tsx b/client/src/components/Chat/Menus/PresetsMenu.tsx index f8196c295d..ff5d7c1032 100644 --- a/client/src/components/Chat/Menus/PresetsMenu.tsx +++ b/client/src/components/Chat/Menus/PresetsMenu.tsx @@ -4,7 +4,7 @@ import { Content, Portal, Root, Trigger } from '@radix-ui/react-popover'; import { EditPresetDialog, PresetItems } from './Presets'; import { useLocalize, usePresets } from '~/hooks'; import { useChatContext } from '~/Providers'; -import { cn } from '~/utils'; +import { Button } from '~/components/ui'; const PresetsMenu: FC = () => { const localize = useLocalize(); @@ -25,19 +25,17 @@ const PresetsMenu: FC = () => { return ( - +
); diff --git a/client/src/components/Plugins/Store/PluginStoreDialog.tsx b/client/src/components/Plugins/Store/PluginStoreDialog.tsx index 5c3f55863d..b54fdada34 100644 --- a/client/src/components/Plugins/Store/PluginStoreDialog.tsx +++ b/client/src/components/Plugins/Store/PluginStoreDialog.tsx @@ -50,7 +50,7 @@ function PluginStoreDialog({ isOpen, setIsOpen }: TPluginStoreDialogProps) { (error: TError) => { setError(true); if (error.response?.data?.message) { - setErrorMessage(error.response?.data?.message); + setErrorMessage(error.response.data.message); } setTimeout(() => { setError(false); @@ -187,7 +187,8 @@ function PluginStoreDialog({ isOpen, setIsOpen }: TPluginStoreDialogProps) { value={searchValue} onChange={handleSearch} placeholder={localize('com_nav_plugin_search')} - className="flex rounded-md border border-gray-200 bg-transparent py-2 pl-10 pr-2 shadow-[0_0_10px_rgba(0,0,0,0.05)] outline-none placeholder:text-gray-400 focus:border-gray-400 focus:bg-gray-50 focus:outline-none focus:ring-0 focus:ring-gray-400 focus:ring-opacity-0 focus:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-600 dark:bg-gray-700 dark:text-gray-50 dark:shadow-[0_0_15px_rgba(0,0,0,0.10)] dark:focus:border-gray-500 focus:dark:bg-gray-600 dark:focus:outline-none dark:focus:ring-0 dark:focus:ring-gray-500 dark:focus:ring-offset-0 dark:focus:ring-offset-gray-900" + className=" + text-token-text-primary flex rounded-md border border-border-heavy bg-surface-tertiary py-2 pl-10 pr-2" />
diff --git a/client/src/style.css b/client/src/style.css index dd07363308..35c1fea42f 100644 --- a/client/src/style.css +++ b/client/src/style.css @@ -2271,30 +2271,30 @@ button.scroll-convo { } .moon-rise { - animation: moonRise 4s ease-in-out infinite; /* 'forwards' mantém a lua na posição final após a animação */ - transform-origin: 45% 50%; /* Ajuste dependendo da posição relativa do morro */ + animation: moonRise 4s ease-in-out infinite; + transform-origin: 45% 50%; } @keyframes moveUp { 0% { - transform: translateY(0.5px); /* Move um pouco para cima */ + transform: translateY(0.5px); opacity: 0.8; } 10% { - transform: translateY(0.5px); /* Move um pouco para cima */ + transform: translateY(0.5px); opacity: 1; } 20% { - transform: translateY(0px); /* Move um pouco para cima */ + transform: translateY(0px); opacity: 1; } 50% { - transform: translateY(0px); /* Move um pouco para cima */ + transform: translateY(0px); opacity: 1; } 60%, 100% { - transform: translateY(0px); /* Move um pouco para cima */ + transform: translateY(0px); opacity: 1; } } @@ -2341,3 +2341,16 @@ button.scroll-convo { line-height: inherit; } +:focus { + outline: none; +} + +:focus-visible { + outline: 2px solid #000; + outline-offset: 2px; +} + +.dark :focus-visible { + outline: 2px solid #fff; + outline-offset: 2px; +}