diff --git a/frontend/src/components/GeoDistribution.tsx b/frontend/src/components/GeoDistribution.tsx index 5899fa8..d16c629 100644 --- a/frontend/src/components/GeoDistribution.tsx +++ b/frontend/src/components/GeoDistribution.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import axios from "axios"; import {getBaseURL, Proxy, ResponseJSON} from "../utils"; +import ReactTooltip from "react-tooltip" const { ComposableMap, @@ -11,7 +12,6 @@ const { Marker, } = require('react-simple-maps'); - export interface GeoDistributionProps { } @@ -33,6 +33,14 @@ export default class GeoDistribution extends React.Component dom.renderMarker(p)); + ReactTooltip.rebuild(); + setTimeout(() => { + ReactTooltip.rebuild() + }, 100) + return ret; + } // const position = [this.state.lat, this.state.lng]; return (
@@ -57,10 +65,20 @@ export default class GeoDistribution extends React.Component - {this.state.proxies.map(p => this.renderMarker(p))} + { + ((self) => { + var ret = self.state.proxies.map(p => self.renderMarker(p)); + ReactTooltip.rebuild(); + setTimeout(() => { + ReactTooltip.rebuild(); // rebuild after render + }, 100) + return ret; + })(this) + } +
); } @@ -73,6 +91,7 @@ export default class GeoDistribution extends React.Component - + " + + proxy.country + ", " + proxy.city + "
" + + "latency: " + proxy.latency + "
" + + "anonymous: " + proxy.is_anonymous + "
" + + "https: " + proxy.is_https } + cx={0} cy={0} r={2}/> ); } else {