From 2bb0842650685897c4149cadc1d5a7cb6d033f74 Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Wed, 7 Aug 2024 14:23:33 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=85=B0=EF=B8=8F=20feat:=20Dynamic=20Font?= =?UTF-8?q?=20Size=20(#3568)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * wip: general setup * added: translations for font-size * fix: prompts related linter errors and add theming * wip: font size selector * refactor: Update FontSizeSelector options display property * refactor: adjust Intersection Observer threshold and debounce rate * feat: Update selectedPrompt type in PromptForm to be optional * feat: dynamic font size * refactor: Update message font size in navigation bar * refactor: Update code analyze block styling * refactor: ProgressText dynamic font size * refactor: move FontSizeSelector component to Chat from General settings * fix: HoverButtons styling for better visibility * refactor: Update HoverButtons styling for better visibility --------- Co-authored-by: kraken --- client/src/common/types.ts | 5 ++ .../Chat/Messages/Content/CodeAnalyze.tsx | 4 +- .../Chat/Messages/Content/MessageContent.tsx | 4 +- .../components/Chat/Messages/Content/Part.tsx | 32 ++++---- .../Chat/Messages/Content/ProgressText.tsx | 11 ++- .../components/Chat/Messages/HoverButtons.tsx | 10 +-- .../src/components/Chat/Messages/Message.tsx | 4 +- .../components/Chat/Messages/MessageParts.tsx | 17 +++-- .../components/Chat/Messages/MessagesView.tsx | 15 +++- .../Chat/Messages/SearchMessage.tsx | 9 ++- .../Chat/Messages/ui/MessageRender.tsx | 13 ++-- .../components/Nav/SettingsTabs/Chat/Chat.tsx | 6 +- .../SettingsTabs/Chat/FontSizeSelector.tsx | 37 ++++++++++ .../Nav/SettingsTabs/General/General.tsx | 4 +- .../src/components/Prompts/AdvancedSwitch.tsx | 4 +- .../src/components/Prompts/PromptEditor.tsx | 33 +++++++-- client/src/components/Prompts/PromptForm.tsx | 30 ++++---- client/src/components/Share/Message.tsx | 13 ++-- .../src/hooks/Messages/useMessageScrolling.ts | 9 ++- client/src/hooks/ThemeContext.tsx | 25 +++---- client/src/localization/languages/Ar.ts | 17 +++-- client/src/localization/languages/Br.ts | 6 +- client/src/localization/languages/De.ts | 1 + client/src/localization/languages/Eng.ts | 6 ++ client/src/localization/languages/Es.ts | 1 + client/src/localization/languages/Fr.ts | 1 + client/src/localization/languages/He.ts | 1 + client/src/localization/languages/Id.ts | 1 + client/src/localization/languages/It.ts | 4 + client/src/localization/languages/Jp.ts | 1 + client/src/localization/languages/Ko.ts | 1 + client/src/localization/languages/Nl.ts | 13 ++-- client/src/localization/languages/Pl.ts | 1 + client/src/localization/languages/Ru.ts | 1 + client/src/localization/languages/Sv.ts | 1 + client/src/localization/languages/Tr.ts | 1 + client/src/localization/languages/Vi.ts | 1 + client/src/localization/languages/Zh.ts | 1 + .../localization/languages/ZhTraditional.ts | 1 + client/src/store/prompts.ts | 13 ++-- client/src/store/settings.ts | 1 + client/src/style.css | 74 +++++++++++++++++-- client/src/utils/index.ts | 1 + client/src/utils/theme.ts | 38 ++++++++++ 44 files changed, 340 insertions(+), 132 deletions(-) create mode 100644 client/src/components/Nav/SettingsTabs/Chat/FontSizeSelector.tsx create mode 100644 client/src/utils/theme.ts diff --git a/client/src/common/types.ts b/client/src/common/types.ts index 3317b634d1..e78cc5afe5 100644 --- a/client/src/common/types.ts +++ b/client/src/common/types.ts @@ -26,6 +26,11 @@ import type { import type { UseMutationResult } from '@tanstack/react-query'; import type { LucideIcon } from 'lucide-react'; +export enum PromptsEditorMode { + SIMPLE = 'simple', + ADVANCED = 'advanced', +} + export type AudioChunk = { audio: string; isFinal: boolean; diff --git a/client/src/components/Chat/Messages/Content/CodeAnalyze.tsx b/client/src/components/Chat/Messages/Content/CodeAnalyze.tsx index 492d86d624..96bcca9a4b 100644 --- a/client/src/components/Chat/Messages/Content/CodeAnalyze.tsx +++ b/client/src/components/Chat/Messages/Content/CodeAnalyze.tsx @@ -54,11 +54,11 @@ export default function CodeAnalyze({ onClick={() => setShowCode((prev) => !prev)} inProgressText="Analyzing" finishedText="Finished analyzing" - hasInput={!!code?.length} + hasInput={!!code.length} /> {showCode && ( -
+
{logs && (
diff --git a/client/src/components/Chat/Messages/Content/MessageContent.tsx b/client/src/components/Chat/Messages/Content/MessageContent.tsx index 2c919f920a..9a2af8284a 100644 --- a/client/src/components/Chat/Messages/Content/MessageContent.tsx +++ b/client/src/components/Chat/Messages/Content/MessageContent.tsx @@ -67,8 +67,8 @@ const DisplayMessage = ({ text, isCreatedByUser, message, showCursor }: TDisplay
diff --git a/client/src/components/Chat/Messages/Content/Part.tsx b/client/src/components/Chat/Messages/Content/Part.tsx index 2012def642..ae0324addc 100644 --- a/client/src/components/Chat/Messages/Content/Part.tsx +++ b/client/src/components/Chat/Messages/Content/Part.tsx @@ -23,8 +23,8 @@ const DisplayMessage = ({ text, isCreatedByUser = false, message, showCursor }: return (
@@ -58,14 +58,12 @@ export default function Part({ // Access the value property return ( -
- -
+
); } else if ( @@ -107,14 +105,12 @@ export default function Part({ if (isSubmitting && showCursor) { return ( -
- -
+
); } diff --git a/client/src/components/Chat/Messages/Content/ProgressText.tsx b/client/src/components/Chat/Messages/Content/ProgressText.tsx index a90c8ec668..ba5031fac1 100644 --- a/client/src/components/Chat/Messages/Content/ProgressText.tsx +++ b/client/src/components/Chat/Messages/Content/ProgressText.tsx @@ -1,13 +1,16 @@ import * as Popover from '@radix-ui/react-popover'; import { cn } from '~/utils'; +const wrapperClass = + 'progress-text-wrapper text-token-text-secondary relative -mt-[0.75px] h-5 w-full leading-5'; + const Wrapper = ({ popover, children }: { popover: boolean; children: React.ReactNode }) => { if (popover) { return ( -
+
@@ -19,9 +22,9 @@ const Wrapper = ({ popover, children }: { popover: boolean; children: React.Reac } return ( -
+
diff --git a/client/src/components/Chat/Messages/HoverButtons.tsx b/client/src/components/Chat/Messages/HoverButtons.tsx index 40e44f0d90..7da848b849 100644 --- a/client/src/components/Chat/Messages/HoverButtons.tsx +++ b/client/src/components/Chat/Messages/HoverButtons.tsx @@ -72,12 +72,12 @@ export default function HoverButtons({ }; return ( -
+
{TextToSpeech && } {isEditableEndpoint && (