import classNames from "classnames"; import { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import * as api from "../helpers/api"; import Icon from "./Icon"; interface Props { shortcutId: ShortcutId; className?: string; } const AnalyticsView: React.FC = (props: Props) => { const { shortcutId, className } = props; const { t } = useTranslation(); const [analytics, setAnalytics] = useState(null); const [selectedDeviceTab, setSelectedDeviceTab] = useState<"os" | "browser">("browser"); useEffect(() => { api.getShortcutAnalytics(shortcutId).then(({ data }) => { setAnalytics(data); }); }, []); return (
{analytics ? ( <>

{t("analytics.top-sources")}

{t("analytics.source")} {t("analytics.visitors")}
{analytics.referenceData.map((reference) => (
{reference.name ? ( {reference.name} ) : ( "Direct" )} {reference.count}
))}
{t("analytics.devices")}
/
{selectedDeviceTab === "browser" ? (
{t("analytics.browsers")} {t("analytics.visitors")}
{analytics.browserData.map((reference) => (
{reference.name || "Unknown"} {reference.count}
))}
) : (
{t("analytics.operating-system")} {t("analytics.visitors")}
{analytics.deviceData.map((device) => (
{device.name || "Unknown"} {device.count}
))}
)}
) : (
{t("common.loading")}
)}
); }; export default AnalyticsView;