summaryrefslogtreecommitdiff
path: root/extension/react-app/src/components/Loader.tsx
diff options
context:
space:
mode:
authorTy Dunn <ty@tydunn.com>2023-07-06 12:22:20 -0700
committerTy Dunn <ty@tydunn.com>2023-07-06 12:22:20 -0700
commitf495205ad623162b6a20ddb409e70b0ba5c07214 (patch)
treeff66bf5b646d238fed72e8a785915574fac8e058 /extension/react-app/src/components/Loader.tsx
parent1e6d9c23053c0ea96ca0c79e174d5551aae2a6dc (diff)
parent28e4da39c1f7056b99dca89e6959a11b86202886 (diff)
downloadsncontinue-f495205ad623162b6a20ddb409e70b0ba5c07214.tar.gz
sncontinue-f495205ad623162b6a20ddb409e70b0ba5c07214.tar.bz2
sncontinue-f495205ad623162b6a20ddb409e70b0ba5c07214.zip
Merge branch 'main' of github.com:continuedev/continue
Diffstat (limited to 'extension/react-app/src/components/Loader.tsx')
-rw-r--r--extension/react-app/src/components/Loader.tsx40
1 files changed, 40 insertions, 0 deletions
diff --git a/extension/react-app/src/components/Loader.tsx b/extension/react-app/src/components/Loader.tsx
new file mode 100644
index 00000000..90eff793
--- /dev/null
+++ b/extension/react-app/src/components/Loader.tsx
@@ -0,0 +1,40 @@
+import { Play } from "@styled-icons/heroicons-outline";
+import { useSelector } from "react-redux";
+import styled from "styled-components";
+import { RootStore } from "../redux/store";
+
+const DEFAULT_SIZE = "28px";
+
+const FlashingDiv = styled.div`
+ margin: auto;
+ width: ${DEFAULT_SIZE};
+ animation: flash 1.2s infinite ease-in-out;
+ @keyframes flash {
+ 0% {
+ opacity: 0.4;
+ }
+ 50% {
+ opacity: 1;
+ }
+ 100% {
+ opacity: 0.4;
+ }
+ }
+`;
+
+function Loader(props: { size?: string }) {
+ const vscMediaUrl = useSelector(
+ (state: RootStore) => state.config.vscMediaUrl
+ );
+ return (
+ <FlashingDiv>
+ {vscMediaUrl ? (
+ <img src={`${vscMediaUrl}/play_button.png`} width="22px" />
+ ) : (
+ <Play width={props.size || DEFAULT_SIZE} />
+ )}
+ </FlashingDiv>
+ );
+}
+
+export default Loader;