mirror of
https://github.com/kremalicious/umami.git
synced 2025-02-14 21:10:34 +01:00
localize visitors in map tooltip
This commit is contained in:
parent
ee6fcae152
commit
f4f869f919
@ -8,6 +8,7 @@ import { ISO_COUNTRIES, MAP_FILE } from 'lib/constants';
|
|||||||
import useTheme from 'components/hooks/useTheme';
|
import useTheme from 'components/hooks/useTheme';
|
||||||
import useCountryNames from 'components/hooks/useCountryNames';
|
import useCountryNames from 'components/hooks/useCountryNames';
|
||||||
import useLocale from 'components/hooks/useLocale';
|
import useLocale from 'components/hooks/useLocale';
|
||||||
|
import useMessages from 'components/hooks/useMessages';
|
||||||
import { formatLongNumber } from 'lib/format';
|
import { formatLongNumber } from 'lib/format';
|
||||||
import { percentFilter } from 'lib/filters';
|
import { percentFilter } from 'lib/filters';
|
||||||
import styles from './WorldMap.module.css';
|
import styles from './WorldMap.module.css';
|
||||||
@ -17,7 +18,9 @@ export function WorldMap({ data, className }) {
|
|||||||
const [tooltip, setTooltipPopup] = useState();
|
const [tooltip, setTooltipPopup] = useState();
|
||||||
const { theme, colors } = useTheme();
|
const { theme, colors } = useTheme();
|
||||||
const { locale } = useLocale();
|
const { locale } = useLocale();
|
||||||
|
const { formatMessage, labels } = useMessages();
|
||||||
const countryNames = useCountryNames(locale);
|
const countryNames = useCountryNames(locale);
|
||||||
|
const visitorsLabel = formatMessage(labels.visitors).toLocaleLowerCase(locale);
|
||||||
const metrics = useMemo(() => (data ? percentFilter(data) : []), [data]);
|
const metrics = useMemo(() => (data ? percentFilter(data) : []), [data]);
|
||||||
|
|
||||||
function getFillColor(code) {
|
function getFillColor(code) {
|
||||||
@ -40,7 +43,7 @@ export function WorldMap({ data, className }) {
|
|||||||
function handleHover(code) {
|
function handleHover(code) {
|
||||||
if (code === 'AQ') return;
|
if (code === 'AQ') return;
|
||||||
const country = metrics?.find(({ x }) => x === code);
|
const country = metrics?.find(({ x }) => x === code);
|
||||||
setTooltipPopup(`${countryNames[code]}: ${formatLongNumber(country?.y || 0)} visitors`);
|
setTooltipPopup(`${countryNames[code]}: ${formatLongNumber(country?.y || 0)} ${visitorsLabel}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user