summaryrefslogtreecommitdiff
path: root/src/components/ProxyProvider.js
diff options
context:
space:
mode:
authorHaishan <[email protected]>2019-12-26 18:16:40 +0800
committerHaishan <[email protected]>2019-12-26 18:16:40 +0800
commitb033b4825dfeb2e3a15bae298856d5001310a487 (patch)
tree51714bcaa02d65abb7dc89527a83f6f9e50103dc /src/components/ProxyProvider.js
parent62b7f7f7ba6cafe72222dd3005a16278115be0a8 (diff)
feat: can healthcheck a provider
Diffstat (limited to 'src/components/ProxyProvider.js')
-rw-r--r--src/components/ProxyProvider.js16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/components/ProxyProvider.js b/src/components/ProxyProvider.js
index e18fe17..3a0b2ef 100644
--- a/src/components/ProxyProvider.js
+++ b/src/components/ProxyProvider.js
@@ -1,5 +1,5 @@
import React from 'react';
-import { ChevronDown, RotateCw } from 'react-feather';
+import { ChevronDown, RotateCw, Zap } from 'react-feather';
import { formatDistance } from 'date-fns';
import ResizeObserver from 'resize-observer-polyfill';
import { motion } from 'framer-motion';
@@ -12,7 +12,10 @@ import { SectionNameType } from './shared/Basic';
import { ProxyList, ProxyListSummaryView } from './ProxyGroup';
import { ButtonWithIcon, ButtonPlain } from './Button';
-import { updateProviderByName } from '../store/proxies';
+import {
+ updateProviderByName,
+ healthcheckProviderByName
+} from '../store/proxies';
import s from './ProxyProvider.module.css';
@@ -42,6 +45,10 @@ function ProxyProvider({ item, dispatch }: Props) {
() => dispatch(updateProviderByName(apiConfig, item.name)),
[apiConfig, dispatch, item.name]
);
+ const healthcheckProvider = useCallback(
+ () => dispatch(healthcheckProviderByName(apiConfig, item.name)),
+ [apiConfig, dispatch, item.name]
+ );
const [isCollapsibleOpen, setCollapsibleOpen] = useState(false);
const toggle = useCallback(() => setCollapsibleOpen(x => !x), []);
@@ -67,6 +74,11 @@ function ProxyProvider({ item, dispatch }: Props) {
icon={<Refresh />}
onClick={updateProvider}
/>
+ <ButtonWithIcon
+ text="Health Check"
+ icon={<Zap size={16} />}
+ onClick={healthcheckProvider}
+ />
</div>
</Collapsible2>
<Collapsible2 isOpen={!isCollapsibleOpen}>