diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-06-15 18:22:35 -0700 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-06-15 18:22:35 -0700 |
commit | b031c4bbaef986a48a66080d6b786f05abc0a793 (patch) | |
tree | dced527dca01f2a3a5a95708b864efb77ffc7cec /extension | |
parent | 75d8d9d93f10d81176226697f83472e2cc0fc9be (diff) | |
download | sncontinue-b031c4bbaef986a48a66080d6b786f05abc0a793.tar.gz sncontinue-b031c4bbaef986a48a66080d6b786f05abc0a793.tar.bz2 sncontinue-b031c4bbaef986a48a66080d6b786f05abc0a793.zip |
hover icons for description
Diffstat (limited to 'extension')
-rw-r--r-- | extension/react-app/src/components/HeaderButtonWithText.tsx | 26 | ||||
-rw-r--r-- | extension/react-app/src/components/StepContainer.tsx | 14 | ||||
-rw-r--r-- | extension/react-app/src/tabs/gui.tsx | 21 |
3 files changed, 42 insertions, 19 deletions
diff --git a/extension/react-app/src/components/HeaderButtonWithText.tsx b/extension/react-app/src/components/HeaderButtonWithText.tsx new file mode 100644 index 00000000..d70a3d70 --- /dev/null +++ b/extension/react-app/src/components/HeaderButtonWithText.tsx @@ -0,0 +1,26 @@ +import React, { useState } from "react"; + +import { HeaderButton } from "."; + +interface HeaderButtonWithTextProps { + text: string; + onClick?: (e: any) => void; + children: React.ReactNode; +} + +const HeaderButtonWithText = (props: HeaderButtonWithTextProps) => { + const [hover, setHover] = useState(false); + return ( + <HeaderButton + style={{ padding: "3px" }} + onMouseEnter={() => setHover(true)} + onMouseLeave={() => setHover(false)} + onClick={props.onClick} + > + <span hidden={!hover}>{props.text}</span> + {props.children} + </HeaderButton> + ); +}; + +export default HeaderButtonWithText; diff --git a/extension/react-app/src/components/StepContainer.tsx b/extension/react-app/src/components/StepContainer.tsx index b0116e92..480f517f 100644 --- a/extension/react-app/src/components/StepContainer.tsx +++ b/extension/react-app/src/components/StepContainer.tsx @@ -21,9 +21,7 @@ import { } from "@styled-icons/heroicons-outline"; import { HistoryNode } from "../../../schema/HistoryNode"; import ReactMarkdown from "react-markdown"; -import ContinueButton from "./ContinueButton"; -import InputAndButton from "./InputAndButton"; -import ToggleErrorDiv from "./ToggleErrorDiv"; +import HeaderButtonWithText from "./HeaderButtonWithText"; interface StepContainerProps { historyNode: HistoryNode; @@ -152,23 +150,25 @@ function StepContainer(props: StepContainerProps) { </HeaderButton> */} <> - <HeaderButton + <HeaderButtonWithText onClick={(e) => { e.stopPropagation(); props.onDelete(); }} + text="Delete" > <XMark size="1.6em" onClick={props.onDelete} /> - </HeaderButton> + </HeaderButtonWithText> {props.historyNode.observation?.error ? ( - <HeaderButton + <HeaderButtonWithText + text="Retry" onClick={(e) => { e.stopPropagation(); props.onRetry(); }} > <ArrowPath size="1.6em" onClick={props.onRetry} /> - </HeaderButton> + </HeaderButtonWithText> ) : ( <></> )} diff --git a/extension/react-app/src/tabs/gui.tsx b/extension/react-app/src/tabs/gui.tsx index 05795cdf..279d052b 100644 --- a/extension/react-app/src/tabs/gui.tsx +++ b/extension/react-app/src/tabs/gui.tsx @@ -14,12 +14,12 @@ import StepContainer from "../components/StepContainer"; import useContinueGUIProtocol from "../hooks/useWebsocket"; import { BookOpen, - ChatBubbleOvalLeft, ChatBubbleOvalLeftEllipsis, Trash, } from "@styled-icons/heroicons-outline"; import ComboBox from "../components/ComboBox"; import TextDialog from "../components/TextDialog"; +import HeaderButtonWithText from "../components/HeaderButtonWithText"; const TopGUIDiv = styled.div` overflow: hidden; @@ -366,30 +366,27 @@ function GUI(props: GUIProps) { </TopGUIDiv> <Footer> <a href="https://continue.dev/docs" className="no-underline"> - <HeaderButton style={{ padding: "3px" }}> - Continue Docs + <HeaderButtonWithText text="Continue Docs"> <BookOpen size="1.6em" /> - </HeaderButton> + </HeaderButtonWithText> </a> - <HeaderButton - style={{ padding: "3px" }} + <HeaderButtonWithText onClick={() => { // Set dialog open setShowFeedbackDialog(true); }} + text="Feedback" > - Feedback <ChatBubbleOvalLeftEllipsis size="1.6em" /> - </HeaderButton> - <HeaderButton + </HeaderButtonWithText> + <HeaderButtonWithText onClick={() => { client?.sendClear(); }} - style={{ padding: "3px" }} + text="Clear History" > - Clear History <Trash size="1.6em" /> - </HeaderButton> + </HeaderButtonWithText> </Footer> </> ); |