summaryrefslogtreecommitdiff
path: root/src/components/shared
diff options
context:
space:
mode:
authorHaishan <[email protected]>2021-02-28 17:06:00 +0800
committerHaishan <[email protected]>2021-02-28 18:04:18 +0800
commitec4586ef3c92f7d5125cb06286a2e44c59a24bb3 (patch)
treea9f217c163ae7218160fce5545d167d74ee9a591 /src/components/shared
parent27a66043403c7e619029bcf50dbc29893e173d07 (diff)
feat: add FAB action button to update all proxy providers
Diffstat (limited to 'src/components/shared')
-rw-r--r--src/components/shared/RotateIcon.module.css16
-rw-r--r--src/components/shared/RotateIcon.tsx16
2 files changed, 32 insertions, 0 deletions
diff --git a/src/components/shared/RotateIcon.module.css b/src/components/shared/RotateIcon.module.css
new file mode 100644
index 0000000..60748de
--- /dev/null
+++ b/src/components/shared/RotateIcon.module.css
@@ -0,0 +1,16 @@
+.rotate {
+ display: inline-flex;
+}
+.isRotating {
+ animation: rotating 3s infinite linear;
+ animation-fill-mode: forwards;
+}
+
+@keyframes rotating {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
diff --git a/src/components/shared/RotateIcon.tsx b/src/components/shared/RotateIcon.tsx
new file mode 100644
index 0000000..e2d4ad8
--- /dev/null
+++ b/src/components/shared/RotateIcon.tsx
@@ -0,0 +1,16 @@
+import cx from 'clsx';
+import * as React from 'react';
+import { RotateCw } from 'react-feather';
+
+import s from './RotateIcon.module.css';
+
+export function RotateIcon({ isRotating }: { isRotating: boolean }) {
+ const cls = cx(s.rotate, {
+ [s.isRotating]: isRotating,
+ });
+ return (
+ <span className={cls}>
+ <RotateCw width={16} />
+ </span>
+ );
+}