mirror of
https://github.com/BradNut/umami
synced 2025-09-08 17:40:29 +00:00
31 lines
963 B
TypeScript
31 lines
963 B
TypeScript
import MetricsTable, { MetricsTableProps } from './MetricsTable';
|
|
import { percentFilter } from 'lib/filters';
|
|
import useLanguageNames from 'components/hooks/useLanguageNames';
|
|
import useLocale from 'components/hooks/useLocale';
|
|
import useMessages from 'components/hooks/useMessages';
|
|
|
|
export function LanguagesTable({
|
|
onDataLoad,
|
|
...props
|
|
}: { onDataLoad: (data: any) => void } & MetricsTableProps) {
|
|
const { formatMessage, labels } = useMessages();
|
|
const { locale } = useLocale();
|
|
const languageNames = useLanguageNames(locale);
|
|
|
|
const renderLabel = ({ x }) => {
|
|
return <div className={locale}>{languageNames[x?.split('-')[0]] ?? x}</div>;
|
|
};
|
|
|
|
return (
|
|
<MetricsTable
|
|
{...props}
|
|
title={formatMessage(labels.languages)}
|
|
type="language"
|
|
metric={formatMessage(labels.visitors)}
|
|
onDataLoad={data => onDataLoad?.(percentFilter(data))}
|
|
renderLabel={renderLabel}
|
|
/>
|
|
);
|
|
}
|
|
|
|
export default LanguagesTable;
|