diff --git a/components/WebsiteDetails.js b/components/WebsiteDetails.js
index 7d6de00e..a3c41880 100644
--- a/components/WebsiteDetails.js
+++ b/components/WebsiteDetails.js
@@ -1,10 +1,10 @@
import React, { useEffect, useState } from 'react';
import classNames from 'classnames';
-import WebsiteChart from 'components/charts/WebsiteChart';
-import RankingsChart from 'components/charts/RankingsChart';
+import WebsiteChart from 'components/metrics/WebsiteChart';
+import RankingsChart from 'components/metrics/RankingsChart';
import WorldMap from 'components/common/WorldMap';
import Page from 'components/layout/Page';
-import WebsiteHeader from 'components/charts/WebsiteHeader';
+import WebsiteHeader from 'components/metrics/WebsiteHeader';
import MenuLayout from 'components/layout/MenuLayout';
import Button from 'components/common/Button';
import { getDateRange } from 'lib/date';
diff --git a/components/WebsiteList.js b/components/WebsiteList.js
index 218ac14d..3b0b7879 100644
--- a/components/WebsiteList.js
+++ b/components/WebsiteList.js
@@ -1,7 +1,7 @@
import React, { useState, useEffect } from 'react';
import { useRouter } from 'next/router';
-import WebsiteHeader from 'components/charts/WebsiteHeader';
-import WebsiteChart from 'components/charts/WebsiteChart';
+import WebsiteHeader from 'components/metrics/WebsiteHeader';
+import WebsiteChart from 'components/metrics/WebsiteChart';
import Page from 'components/layout/Page';
import Button from 'components/common/Button';
import EmptyPlaceholder from 'components/common/EmptyPlaceholder';
diff --git a/components/charts/ActiveUsers.js b/components/metrics/ActiveUsers.js
similarity index 100%
rename from components/charts/ActiveUsers.js
rename to components/metrics/ActiveUsers.js
diff --git a/components/charts/ActiveUsers.module.css b/components/metrics/ActiveUsers.module.css
similarity index 100%
rename from components/charts/ActiveUsers.module.css
rename to components/metrics/ActiveUsers.module.css
diff --git a/components/charts/MetricCard.js b/components/metrics/MetricCard.js
similarity index 100%
rename from components/charts/MetricCard.js
rename to components/metrics/MetricCard.js
diff --git a/components/charts/MetricCard.module.css b/components/metrics/MetricCard.module.css
similarity index 100%
rename from components/charts/MetricCard.module.css
rename to components/metrics/MetricCard.module.css
diff --git a/components/charts/MetricsBar.js b/components/metrics/MetricsBar.js
similarity index 100%
rename from components/charts/MetricsBar.js
rename to components/metrics/MetricsBar.js
diff --git a/components/charts/MetricsBar.module.css b/components/metrics/MetricsBar.module.css
similarity index 100%
rename from components/charts/MetricsBar.module.css
rename to components/metrics/MetricsBar.module.css
diff --git a/components/charts/PageviewsChart.js b/components/metrics/PageviewsChart.js
similarity index 100%
rename from components/charts/PageviewsChart.js
rename to components/metrics/PageviewsChart.js
diff --git a/components/charts/PageviewsChart.module.css b/components/metrics/PageviewsChart.module.css
similarity index 100%
rename from components/charts/PageviewsChart.module.css
rename to components/metrics/PageviewsChart.module.css
diff --git a/components/charts/QuickButtons.js b/components/metrics/QuickButtons.js
similarity index 100%
rename from components/charts/QuickButtons.js
rename to components/metrics/QuickButtons.js
diff --git a/components/charts/QuickButtons.module.css b/components/metrics/QuickButtons.module.css
similarity index 100%
rename from components/charts/QuickButtons.module.css
rename to components/metrics/QuickButtons.module.css
diff --git a/components/charts/RankingsChart.js b/components/metrics/RankingsChart.js
similarity index 83%
rename from components/charts/RankingsChart.js
rename to components/metrics/RankingsChart.js
index be73be97..d113bed0 100644
--- a/components/charts/RankingsChart.js
+++ b/components/metrics/RankingsChart.js
@@ -25,6 +25,7 @@ export default function RankingsChart({
const [data, setData] = useState();
const [format, setFormat] = useState(true);
const formatFunc = format ? formatLongNumber : formatNumber;
+ const shouldAnimate = limit > 0;
const rankings = useMemo(() => {
if (data) {
@@ -54,13 +55,23 @@ export default function RankingsChart({
setFormat(state => !state);
}
+ function getRow(x, y, z) {
+ return (
+