+ ))}
);
}
diff --git a/components/MetricCard.js b/components/charts/MetricCard.js
similarity index 100%
rename from components/MetricCard.js
rename to components/charts/MetricCard.js
diff --git a/components/MetricCard.module.css b/components/charts/MetricCard.module.css
similarity index 100%
rename from components/MetricCard.module.css
rename to components/charts/MetricCard.module.css
diff --git a/components/MetricsBar.js b/components/charts/MetricsBar.js
similarity index 100%
rename from components/MetricsBar.js
rename to components/charts/MetricsBar.js
diff --git a/components/MetricsBar.module.css b/components/charts/MetricsBar.module.css
similarity index 100%
rename from components/MetricsBar.module.css
rename to components/charts/MetricsBar.module.css
diff --git a/components/PageviewsChart.js b/components/charts/PageviewsChart.js
similarity index 100%
rename from components/PageviewsChart.js
rename to components/charts/PageviewsChart.js
diff --git a/components/PageviewsChart.module.css b/components/charts/PageviewsChart.module.css
similarity index 100%
rename from components/PageviewsChart.module.css
rename to components/charts/PageviewsChart.module.css
diff --git a/components/QuickButtons.js b/components/charts/QuickButtons.js
similarity index 94%
rename from components/QuickButtons.js
rename to components/charts/QuickButtons.js
index de5722e6..831a2c05 100644
--- a/components/QuickButtons.js
+++ b/components/charts/QuickButtons.js
@@ -1,6 +1,6 @@
import React from 'react';
import classNames from 'classnames';
-import Button from './Button';
+import Button from '../interface/Button';
import { getDateRange } from 'lib/date';
import styles from './QuickButtons.module.css';
diff --git a/components/QuickButtons.module.css b/components/charts/QuickButtons.module.css
similarity index 100%
rename from components/QuickButtons.module.css
rename to components/charts/QuickButtons.module.css
diff --git a/components/RankingsChart.js b/components/charts/RankingsChart.js
similarity index 97%
rename from components/RankingsChart.js
rename to components/charts/RankingsChart.js
index 6a86dbbc..85acefeb 100644
--- a/components/RankingsChart.js
+++ b/components/charts/RankingsChart.js
@@ -1,7 +1,7 @@
import React, { useState, useEffect, useMemo } from 'react';
import { useSpring, animated, config } from 'react-spring';
import classNames from 'classnames';
-import CheckVisible from './CheckVisible';
+import CheckVisible from '../helpers/CheckVisible';
import { get } from 'lib/web';
import { percentFilter } from 'lib/filters';
import styles from './RankingsChart.module.css';
diff --git a/components/RankingsChart.module.css b/components/charts/RankingsChart.module.css
similarity index 100%
rename from components/RankingsChart.module.css
rename to components/charts/RankingsChart.module.css
diff --git a/components/WebsiteChart.js b/components/charts/WebsiteChart.js
similarity index 93%
rename from components/WebsiteChart.js
rename to components/charts/WebsiteChart.js
index 5779258a..837b7548 100644
--- a/components/WebsiteChart.js
+++ b/components/charts/WebsiteChart.js
@@ -1,11 +1,11 @@
import React, { useState, useEffect, useMemo, useRef } from 'react';
import classNames from 'classnames';
import PageviewsChart from './PageviewsChart';
-import CheckVisible from './CheckVisible';
+import CheckVisible from '../helpers/CheckVisible';
import MetricsBar from './MetricsBar';
import QuickButtons from './QuickButtons';
-import DateFilter from './DateFilter';
-import StickyHeader from './StickyHeader';
+import DateFilter from '../common/DateFilter';
+import StickyHeader from '../helpers/StickyHeader';
import { get } from 'lib/web';
import { getDateArray, getDateRange, getTimezone } from 'lib/date';
import styles from './WebsiteChart.module.css';
diff --git a/components/WebsiteChart.module.css b/components/charts/WebsiteChart.module.css
similarity index 100%
rename from components/WebsiteChart.module.css
rename to components/charts/WebsiteChart.module.css
diff --git a/components/DateFilter.js b/components/common/DateFilter.js
similarity index 100%
rename from components/DateFilter.js
rename to components/common/DateFilter.js
diff --git a/components/DropDown.js b/components/common/DropDown.js
similarity index 93%
rename from components/DropDown.js
rename to components/common/DropDown.js
index 9538d6f5..c3d6f852 100644
--- a/components/DropDown.js
+++ b/components/common/DropDown.js
@@ -1,10 +1,10 @@
import React, { useState, useRef } from 'react';
import classNames from 'classnames';
-import Menu from './Menu';
+import Menu from '../interface/Menu';
import useDocumentClick from 'hooks/useDocumentClick';
import Chevron from 'assets/chevron-down.svg';
import styles from './Dropdown.module.css';
-import Icon from './Icon';
+import Icon from '../interface/Icon';
export default function DropDown({
value,
diff --git a/components/Dropdown.module.css b/components/common/Dropdown.module.css
similarity index 100%
rename from components/Dropdown.module.css
rename to components/common/Dropdown.module.css
diff --git a/components/common/Modal.js b/components/common/Modal.js
new file mode 100644
index 00000000..c2bca43f
--- /dev/null
+++ b/components/common/Modal.js
@@ -0,0 +1,16 @@
+import React from 'react';
+import { useSpring, animated } from 'react-spring';
+import styles from './Modal.module.css';
+
+export default function Modal({ title, children }) {
+ const props = useSpring({ opacity: 1, from: { opacity: 0 } });
+
+ return (
+
+