diff options
Diffstat (limited to 'extension/react-app')
-rw-r--r-- | extension/react-app/src/components/ComboBox.tsx | 4 | ||||
-rw-r--r-- | extension/react-app/src/components/RingLoader.tsx | 39 | ||||
-rw-r--r-- | extension/react-app/src/hooks/useWebsocket.ts | 7 | ||||
-rw-r--r-- | extension/react-app/src/pages/gui.tsx | 31 |
4 files changed, 73 insertions, 8 deletions
diff --git a/extension/react-app/src/components/ComboBox.tsx b/extension/react-app/src/components/ComboBox.tsx index 5eada708..df3f970c 100644 --- a/extension/react-app/src/components/ComboBox.tsx +++ b/extension/react-app/src/components/ComboBox.tsx @@ -32,7 +32,9 @@ const SEARCH_INDEX_NAME = "continue_context_items"; const mainInputFontSize = 13; const EmptyPillDiv = styled.div` - padding: 8px; + padding: 4px; + padding-left: 8px; + padding-right: 8px; border-radius: ${defaultBorderRadius}; border: 1px dashed ${lightGray}; color: ${lightGray}; diff --git a/extension/react-app/src/components/RingLoader.tsx b/extension/react-app/src/components/RingLoader.tsx new file mode 100644 index 00000000..5eb8a60f --- /dev/null +++ b/extension/react-app/src/components/RingLoader.tsx @@ -0,0 +1,39 @@ +import React from "react"; +import styled, { keyframes } from "styled-components"; +import { buttonColor, vscBackground, vscForeground } from "."; + +const rotate = keyframes` + 0% { + stroke-dashoffset: 100; + } + 100% { + stroke-dashoffset: 12; + } +`; + +const LoaderSvg = styled.svg` + transform: rotate(-90deg); + width: 40px; + height: 40px; + opacity: 50%; + + circle { + fill: none; + stroke: ${vscForeground}; + stroke-width: 2; + stroke-dasharray: 100; + stroke-dashoffset: 0; + animation: ${rotate} 6s ease-out infinite; + stroke-linecap: round; + } +`; + +const RingLoader = () => ( + <div className="m-auto w-full text-center"> + <LoaderSvg viewBox="0 0 32 32"> + <circle cx="16" cy="16" r="14" /> + </LoaderSvg> + </div> +); + +export default RingLoader; diff --git a/extension/react-app/src/hooks/useWebsocket.ts b/extension/react-app/src/hooks/useWebsocket.ts index 6b36be97..be34861b 100644 --- a/extension/react-app/src/hooks/useWebsocket.ts +++ b/extension/react-app/src/hooks/useWebsocket.ts @@ -25,8 +25,11 @@ function useContinueGUIProtocol(useVscodeMessagePassing: boolean = true) { "/gui/ws?session_id=" + encodeURIComponent(sessionId); - console.log("Creating websocket", serverUrlWithSessionId); - console.log("Using vscode message passing", useVscodeMessagePassing); + console.log( + "Creating GUI websocket", + serverUrlWithSessionId, + useVscodeMessagePassing + ); const newClient = new ContinueGUIClientProtocol( serverUrlWithSessionId, useVscodeMessagePassing diff --git a/extension/react-app/src/pages/gui.tsx b/extension/react-app/src/pages/gui.tsx index 54897944..ed73ce85 100644 --- a/extension/react-app/src/pages/gui.tsx +++ b/extension/react-app/src/pages/gui.tsx @@ -32,6 +32,7 @@ import { setBottomMessage, setBottomMessageCloseTimeout, } from "../redux/slices/uiStateSlice"; +import RingLoader from "../components/RingLoader"; const TopGUIDiv = styled.div` overflow: hidden; @@ -402,11 +403,31 @@ function GUI(props: GUIProps) { > {typeof client === "undefined" && ( <> - <Loader /> - <p style={{ textAlign: "center" }}>Loading Continue server...</p> - {/* <p style={{ textAlign: "center" }}> - Make sure you have a folder opened in VS Code - </p> */} + <RingLoader /> + <p + style={{ + textAlign: "center", + margin: "0px", + fontSize: "14px", + }} + > + Continue Server Starting + </p> + <p + style={{ + margin: "auto", + textAlign: "center", + marginTop: "4px", + fontSize: "12px", + cursor: "pointer", + opacity: 0.7, + }} + onClick={() => { + postVscMessage("toggleDevTools", {}); + }} + > + <u>Click to view logs</u> + </p> </> )} {history?.timeline.map((node: HistoryNode, index: number) => { |