diff options
| author | Ty Dunn <ty@tydunn.com> | 2023-06-29 16:27:40 -0700 | 
|---|---|---|
| committer | Ty Dunn <ty@tydunn.com> | 2023-06-29 16:27:40 -0700 | 
| commit | 2bd56eae1eb1773a6de3250f834a25d4e50543d4 (patch) | |
| tree | 95f029a7a62722a9c0c933c29a6df09339aa0724 /extension/react-app/src | |
| parent | 2a817dab3129bca0c566cc2201ce1f4358f66acf (diff) | |
| download | sncontinue-2bd56eae1eb1773a6de3250f834a25d4e50543d4.tar.gz sncontinue-2bd56eae1eb1773a6de3250f834a25d4e50543d4.tar.bz2 sncontinue-2bd56eae1eb1773a6de3250f834a25d4e50543d4.zip | |
close on data collection
Diffstat (limited to 'extension/react-app/src')
| -rw-r--r-- | extension/react-app/src/components/DebugPanel.tsx | 2 | ||||
| -rw-r--r-- | extension/react-app/src/redux/slices/configSlice.ts | 8 | ||||
| -rw-r--r-- | extension/react-app/src/redux/store.ts | 1 | ||||
| -rw-r--r-- | extension/react-app/src/tabs/gui.tsx | 25 | 
4 files changed, 29 insertions, 7 deletions
| diff --git a/extension/react-app/src/components/DebugPanel.tsx b/extension/react-app/src/components/DebugPanel.tsx index 94dbac9e..fffb6c6e 100644 --- a/extension/react-app/src/components/DebugPanel.tsx +++ b/extension/react-app/src/components/DebugPanel.tsx @@ -7,6 +7,7 @@ import {    setVscMachineId,    setSessionId,    setVscMediaUrl, +  setDataSwitchOn,  } from "../redux/slices/configSlice";  import { setHighlightedCode } from "../redux/slices/miscSlice";  import { updateFileSystem } from "../redux/slices/debugContexSlice"; @@ -39,6 +40,7 @@ function DebugPanel(props: DebugPanelProps) {            dispatch(setVscMachineId(event.data.vscMachineId));            dispatch(setSessionId(event.data.sessionId));            dispatch(setVscMediaUrl(event.data.vscMediaUrl)); +          dispatch(setDataSwitchOn(event.data.dataSwitchOn));            break;          case "highlightedCode":            dispatch(setHighlightedCode(event.data.rangeInFile)); diff --git a/extension/react-app/src/redux/slices/configSlice.ts b/extension/react-app/src/redux/slices/configSlice.ts index 229c9c5c..57c4f860 100644 --- a/extension/react-app/src/redux/slices/configSlice.ts +++ b/extension/react-app/src/redux/slices/configSlice.ts @@ -44,6 +44,13 @@ export const configSlice = createSlice({        ...state,        vscMediaUrl: action.payload,      }), +    setDataSwitchOn: ( +      state: RootStore["config"], +      action: { type: string; payload: boolean } +    ) => ({ +      ...state, +      dataSwitchOn: action.payload, +    })    },  }); @@ -53,5 +60,6 @@ export const {    setWorkspacePath,    setSessionId,    setVscMediaUrl, +  setDataSwitchOn  } = configSlice.actions;  export default configSlice.reducer; diff --git a/extension/react-app/src/redux/store.ts b/extension/react-app/src/redux/store.ts index a5eef4ba..b6eb55b3 100644 --- a/extension/react-app/src/redux/store.ts +++ b/extension/react-app/src/redux/store.ts @@ -22,6 +22,7 @@ export interface RootStore {      sessionId: string | undefined;      sessionStarted: number | undefined;      vscMediaUrl: string | undefined; +    dataSwitchOn: boolean | undefined;    };    chat: {      messages: ChatMessage[]; diff --git a/extension/react-app/src/tabs/gui.tsx b/extension/react-app/src/tabs/gui.tsx index 8d21a457..292977c7 100644 --- a/extension/react-app/src/tabs/gui.tsx +++ b/extension/react-app/src/tabs/gui.tsx @@ -19,6 +19,7 @@ import { usePostHog } from "posthog-js/react";  import { useSelector } from "react-redux";  import { RootStore } from "../redux/store";  import LoadingCover from "../components/LoadingCover"; +import { postVscMessage } from "../vscode";  const TopGUIDiv = styled.div`    overflow: hidden; @@ -54,6 +55,16 @@ function GUI(props: GUIProps) {    const vscMachineId = useSelector(      (state: RootStore) => state.config.vscMachineId    ); +  const [dataSwitchChecked, setDataSwitchChecked] = useState(false); +  const dataSwitchOn = useSelector( +    (state: RootStore) => state.config.dataSwitchOn +  ) + +  useEffect(() => { +    if (typeof dataSwitchOn !== "undefined") { +      setDataSwitchChecked(dataSwitchOn) +    } +  }, [dataSwitchOn])    const [usingFastModel, setUsingFastModel] = useState(false);    const [waitingForSteps, setWaitingForSteps] = useState(false); @@ -61,7 +72,6 @@ function GUI(props: GUIProps) {    const [availableSlashCommands, setAvailableSlashCommands] = useState<      { name: string; description: string }[]    >([]); -  const [dataSwitchChecked, setDataSwitchChecked] = useState(false);    const [showDataSharingInfo, setShowDataSharingInfo] = useState(false);    const [stepsOpen, setStepsOpen] = useState<boolean[]>([      true, @@ -538,15 +548,15 @@ function GUI(props: GUIProps) {          }}          hidden={!showDataSharingInfo}        > -        By turning on this switch, you signal that you would contribute this -        software development data to a publicly accessible, open-source dataset -        in the future. +        By turning on this switch, you will begin collecting accepted and  +        rejected suggestions in .continue/suggestions.json. This data is  +        stored locally on your machine and not sent anywhere.          <br />          <br />          <b>            {dataSwitchChecked -            ? "No data is being collected. In the future, you would be contributing data" -            : "No data is being collected. In the future, your data would not be shared"} +            ? "👍 Data is being collected" +            : "👎 No data is being collected"}          </b>        </div>        <Footer dataSwitchChecked={dataSwitchChecked}> @@ -573,13 +583,14 @@ function GUI(props: GUIProps) {                  vscMachineId: vscMachineId,                  dataSwitchChecked: !dataSwitchChecked,                }); +              postVscMessage("toggleDataSwitch", {on: !dataSwitchChecked})                setDataSwitchChecked((prev) => !prev);              }}              onColor="#12887a"              checked={dataSwitchChecked}            />            <span style={{ cursor: "help", fontSize: "14px" }}> -            Contribute Data +            Collect Data            </span>          </div>          <HeaderButtonWithText | 
