From e19c918bb1c517a6a119ae8437c46e0724d2be9d Mon Sep 17 00:00:00 2001 From: Nate Sesti Date: Wed, 4 Oct 2023 01:36:33 -0700 Subject: feat: :lipstick: better loading experience --- extension/react-app/src/components/ComboBox.tsx | 5 +++++ extension/react-app/src/components/ModelSelect.tsx | 10 ++++++++++ extension/react-app/src/components/RingLoader.tsx | 2 +- extension/react-app/src/pages/gui.tsx | 7 +++++-- extension/react-app/src/redux/slices/miscSlice.ts | 8 ++++++-- extension/react-app/src/redux/store.ts | 1 + 6 files changed, 28 insertions(+), 5 deletions(-) diff --git a/extension/react-app/src/components/ComboBox.tsx b/extension/react-app/src/components/ComboBox.tsx index 43b66476..12cd91a2 100644 --- a/extension/react-app/src/components/ComboBox.tsx +++ b/extension/react-app/src/components/ComboBox.tsx @@ -40,6 +40,7 @@ import { } from "../util"; import { ContextItem } from "../../../schema/FullState"; import StyledMarkdownPreview from "./StyledMarkdownPreview"; +import { setTakenActionTrue } from "../redux/slices/miscSlice"; const SEARCH_INDEX_NAME = "continue_context_items"; @@ -343,6 +344,7 @@ const ComboBox = React.forwardRef((props: ComboBoxProps, ref) => { useEffect(() => { if (!nestedContextProvider) { + dispatch(setTakenActionTrue(null)); setItems( contextProviders?.map((provider) => ({ name: provider.display_title, @@ -435,6 +437,7 @@ const ComboBox = React.forwardRef((props: ComboBoxProps, ref) => { setNestedContextProvider(undefined); // Handle slash commands + dispatch(setTakenActionTrue(null)); setItems( availableSlashCommands?.filter((slashCommand) => slashCommand.name.toLowerCase().startsWith(inputValue.toLowerCase()) @@ -594,12 +597,14 @@ const ComboBox = React.forwardRef((props: ComboBoxProps, ref) => { const handler = (event: any) => { if (event.data.type === "focusContinueInput") { inputRef.current!.focus(); + dispatch(setTakenActionTrue(null)); } else if (event.data.type === "focusContinueInputWithEdit") { inputRef.current!.focus(); if (!inputRef.current?.value.startsWith("/edit")) { downshiftProps.setInputValue("/edit "); } + dispatch(setTakenActionTrue(null)); } }; window.addEventListener("message", handler); diff --git a/extension/react-app/src/components/ModelSelect.tsx b/extension/react-app/src/components/ModelSelect.tsx index 6856a2cf..b08141f9 100644 --- a/extension/react-app/src/components/ModelSelect.tsx +++ b/extension/react-app/src/components/ModelSelect.tsx @@ -189,6 +189,16 @@ function ModelSelect(props: {}) { } }} > + {!defaultModel && !savedModels && ( + + )} {defaultModel && (