summaryrefslogtreecommitdiff
path: root/extension/react-app
diff options
context:
space:
mode:
Diffstat (limited to 'extension/react-app')
-rw-r--r--extension/react-app/src/components/Onboarding.tsx51
1 files changed, 41 insertions, 10 deletions
diff --git a/extension/react-app/src/components/Onboarding.tsx b/extension/react-app/src/components/Onboarding.tsx
index 1b37acc4..776ad460 100644
--- a/extension/react-app/src/components/Onboarding.tsx
+++ b/extension/react-app/src/components/Onboarding.tsx
@@ -4,6 +4,7 @@ import React, { useState, useEffect } from "react";
import styled from "styled-components";
import { ArrowLeft, ArrowRight } from "@styled-icons/heroicons-outline";
import { defaultBorderRadius } from ".";
+import Loader from "./Loader";
const StyledDiv = styled.div`
position: absolute;
@@ -39,13 +40,9 @@ const Onboarding = () => {
"Let Continue build the scaffolding of Python scripts, React components, and more",
];
- const vscMediaUrl = useSelector(
- (state: RootStore) => state.config.vscMediaUrl
- );
-
useEffect(() => {
const hasVisited = localStorage.getItem("hasVisited");
- if (hasVisited) {
+ if (hasVisited && false) {
setCounter(4);
} else {
setCounter(0);
@@ -53,6 +50,12 @@ const Onboarding = () => {
}
}, []);
+ const [loading, setLoading] = useState(true);
+
+ useEffect(() => {
+ setLoading(true);
+ }, [counter]);
+
return (
<StyledDiv hidden={counter >= 4}>
<div
@@ -75,10 +78,34 @@ const Onboarding = () => {
>
<h1>{topMessages[counter]}</h1>
<div style={{ display: "flex", justifyContent: "center" }}>
- <img
- src={`https://github.com/continuedev/continue/blob/main/media/${gifs[counter]}.gif?raw=true`}
- alt={topMessages[counter]}
- />
+ {loading && (
+ <div style={{ margin: "auto", position: "absolute", zIndex: 0 }}>
+ <Loader />
+ </div>
+ )}
+ {counter % 2 === 0 ? (
+ <img
+ src={`https://github.com/continuedev/continue/blob/main/media/${gifs[counter]}.gif?raw=true`}
+ width="100%"
+ key={"even-gif"}
+ alt={topMessages[counter]}
+ onLoad={() => {
+ setLoading(false);
+ }}
+ style={{ zIndex: 1 }}
+ />
+ ) : (
+ <img
+ src={`https://github.com/continuedev/continue/blob/main/media/${gifs[counter]}.gif?raw=true`}
+ width="100%"
+ key={"odd-gif"}
+ alt={topMessages[counter]}
+ onLoad={() => {
+ setLoading(false);
+ }}
+ style={{ zIndex: 1 }}
+ />
+ )}
</div>
<p>{bottomMessages[counter]}</p>
<p
@@ -98,7 +125,11 @@ const Onboarding = () => {
</StyledSpan>
<span hidden={counter === 0}>{" | "}</span>
<StyledSpan onClick={() => setCounter((prev) => prev + 1)}>
- Click to {counter === 3 || "learn how to"} use Continue{" "}
+ {counter === 0
+ ? "Click to learn how to use Continue"
+ : counter === 3
+ ? "Get Started"
+ : "Next"}{" "}
<ArrowRight width="18px" strokeWidth="2px" />
</StyledSpan>
</p>