= ({
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;
+}