diff --git a/package.json b/package.json
index 3dcf799..c58aec3 100644
--- a/package.json
+++ b/package.json
@@ -21,9 +21,7 @@
"repository": "github:phosphor-icons/phosphor-home",
"private": true,
"dependencies": {
- "@types/braintree-web": "^3.75.3",
"@types/braintree-web-drop-in": "^1.22.3",
- "braintree-web": "^3.78.2",
"braintree-web-drop-in": "^1.30.1",
"file-saver": "^2.0.2",
"framer-motion": "^3.10.0",
diff --git a/src/components/App/App.css b/src/components/App/App.css
index d076926..3db5216 100644
--- a/src/components/App/App.css
+++ b/src/components/App/App.css
@@ -144,7 +144,7 @@ button.text-button svg {
display: flex;
flex-flow: row wrap;
justify-content: space-around;
- row-gap: 16px;
+ row-gap: 8px;
}
.radio-button input[type="radio"] {
diff --git a/src/components/App/App.tsx b/src/components/App/App.tsx
index d426e3e..e144c9b 100644
--- a/src/components/App/App.tsx
+++ b/src/components/App/App.tsx
@@ -1,14 +1,16 @@
import React, { Suspense } from "react";
+import Header from "components/Header";
+import Modal from "components/Modal";
+import Toolbar from "components/Toolbar";
+import IconGrid from "components/IconGrid";
+import Footer from "components/Footer";
+import ErrorBoundary from "components/ErrorBoundary";
+import Notice from "components/Notice";
+
+import useIconParameters from "hooks/useIconParameters";
+
import "./App.css";
-import Header from "../Header/Header";
-import Modal from "../Modal/Modal";
-import Toolbar from "../Toolbar/Toolbar";
-import IconGrid from "../IconGrid/IconGrid";
-import Footer from "../Footer/Footer";
-import ErrorBoundary from "../ErrorBoundary/ErrorBoundary";
-import Notice from "../Notice/Notice";
-import useIconParameters from "../../hooks/useIconParameters";
const errorFallback = ;
const paymentFallback = ;
diff --git a/src/components/App/index.ts b/src/components/App/index.ts
new file mode 100644
index 0000000..9ba5deb
--- /dev/null
+++ b/src/components/App/index.ts
@@ -0,0 +1,2 @@
+import App from "./App";
+export default App;
diff --git a/src/components/ColorInput/ColorInput.tsx b/src/components/ColorInput/ColorInput.tsx
index b98df2a..71061db 100644
--- a/src/components/ColorInput/ColorInput.tsx
+++ b/src/components/ColorInput/ColorInput.tsx
@@ -1,9 +1,10 @@
import React, { useCallback } from "react";
import { useRecoilState, useRecoilValue } from "recoil";
-import { iconColorAtom } from "../../state/atoms";
-import { isDarkThemeSelector } from "../../state/selectors";
-import useThrottled from "../../hooks/useThrottled";
+import { iconColorAtom } from "state/atoms";
+import { isDarkThemeSelector } from "state/selectors";
+import useThrottled from "hooks/useThrottled";
+
import "./ColorInput.css";
type ColorInputProps = {};
diff --git a/src/components/ColorInput/index.ts b/src/components/ColorInput/index.ts
new file mode 100644
index 0000000..9c761d8
--- /dev/null
+++ b/src/components/ColorInput/index.ts
@@ -0,0 +1,2 @@
+import ColorInput from "./ColorInput";
+export default ColorInput;
diff --git a/src/components/ErrorBoundary/index.ts b/src/components/ErrorBoundary/index.ts
new file mode 100644
index 0000000..bbeca7b
--- /dev/null
+++ b/src/components/ErrorBoundary/index.ts
@@ -0,0 +1,2 @@
+import ErrorBoundary from "./ErrorBoundary";
+export default ErrorBoundary;
diff --git a/src/components/Footer/Footer.tsx b/src/components/Footer/Footer.tsx
index ff15879..6d32a47 100644
--- a/src/components/Footer/Footer.tsx
+++ b/src/components/Footer/Footer.tsx
@@ -1,10 +1,12 @@
import React from "react";
import { Coffee, Heart } from "phosphor-react";
-import uArrowUpLeft from "../../assets/u-arrow-up-left.svg";
-import markerGreen from "../../assets/marker-green.svg";
-import postIt from "../../assets/footer-mobile.svg";
-import Links from "../Links/Links";
+import uArrowUpLeft from "assets/u-arrow-up-left.svg";
+import markerGreen from "assets/marker-green.svg";
+import postIt from "assets/footer-mobile.svg";
+
+import Links from "components/Links";
+
import "./Footer.css";
type FooterProps = {};
@@ -34,8 +36,8 @@ const Footer: React.FC = () => {
a little quirky, too.
- We're thankful for the tools we've benefited from and
- this is our contribution towards a collaborative community.
+ We're thankful for the tools we've benefited from and this is our
+ contribution towards a collaborative community.
Phosphor is free and open-source, licensed under{" "}
diff --git a/src/components/Footer/index.ts b/src/components/Footer/index.ts
new file mode 100644
index 0000000..ccb5e78
--- /dev/null
+++ b/src/components/Footer/index.ts
@@ -0,0 +1,2 @@
+import Footer from "./Footer";
+export default Footer;
diff --git a/src/components/Header/Header.tsx b/src/components/Header/Header.tsx
index fd2cce6..28fa7dd 100644
--- a/src/components/Header/Header.tsx
+++ b/src/components/Header/Header.tsx
@@ -1,22 +1,24 @@
import React from "react";
import { ArrowCircleUpRight, ArrowCircleDown } from "phosphor-react";
-import markerPurple from "../../assets/marker-purple.svg";
-import paperclips from "../../assets/paperclips-header-mobile.svg";
-import paperclipsThree from "../../assets/paperclips-header.svg";
-import tablet from "../../assets/tablet.svg";
-import tabletSpec from "../../assets/tablet-spec.svg";
-import billiardBall from "../../assets/billiard-ball.svg";
-import billiardBallSpec from "../../assets/billiard-ball-spec.svg";
-import warning from "../../assets/warning.svg";
-import warningSpec from "../../assets/warning-spec.svg";
-import cuttingMat from "../../assets/cutting-mat.svg";
-import cuttingMatSpec from "../../assets/cutting-mat-spec.svg";
-import receipt from "../../assets/receipt.svg";
-import receiptSpec from "../../assets/receipt-spec.svg";
-import calculator from "../../assets/calculator.svg";
-import calculatorSpec from "../../assets/calculator-spec.svg";
-import Links from "../Links/Links";
+import markerPurple from "assets/marker-purple.svg";
+import paperclips from "assets/paperclips-header-mobile.svg";
+import paperclipsThree from "assets/paperclips-header.svg";
+import tablet from "assets/tablet.svg";
+import tabletSpec from "assets/tablet-spec.svg";
+import billiardBall from "assets/billiard-ball.svg";
+import billiardBallSpec from "assets/billiard-ball-spec.svg";
+import warning from "assets/warning.svg";
+import warningSpec from "assets/warning-spec.svg";
+import cuttingMat from "assets/cutting-mat.svg";
+import cuttingMatSpec from "assets/cutting-mat-spec.svg";
+import receipt from "assets/receipt.svg";
+import receiptSpec from "assets/receipt-spec.svg";
+import calculator from "assets/calculator.svg";
+import calculatorSpec from "assets/calculator-spec.svg";
+
+import Links from "components/Links";
+
import "./Header.css";
type HeaderProps = {};
diff --git a/src/components/Header/index.ts b/src/components/Header/index.ts
new file mode 100644
index 0000000..aa3e4e8
--- /dev/null
+++ b/src/components/Header/index.ts
@@ -0,0 +1,2 @@
+import Header from "./Header";
+export default Header;
diff --git a/src/components/IconGrid/DetailsPanel.tsx b/src/components/IconGrid/DetailsPanel.tsx
index 766fc0c..cc94217 100644
--- a/src/components/IconGrid/DetailsPanel.tsx
+++ b/src/components/IconGrid/DetailsPanel.tsx
@@ -3,18 +3,19 @@ import { useRecoilValue, useSetRecoilState } from "recoil";
import { motion } from "framer-motion";
import { Svg2Png } from "svg2png-converter";
import { saveAs } from "file-saver";
-import { Copy, X, CheckCircle, Download } from "phosphor-react";
import ReactGA from "react-ga";
+import { Copy, X, CheckCircle, Download } from "phosphor-react";
import {
iconWeightAtom,
iconSizeAtom,
iconColorAtom,
iconPreviewOpenAtom,
-} from "../../state/atoms";
-import useTransientState from "../../hooks/useTransientState";
+} from "state/atoms";
+import { IconEntry } from "lib";
+import useTransientState from "hooks/useTransientState";
+
import TagCloud from "./TagCloud";
-import { IconEntry } from "../../lib";
const panelVariants = {
open: {
diff --git a/src/components/IconGrid/IconGrid.tsx b/src/components/IconGrid/IconGrid.tsx
index efa94fd..75bb599 100644
--- a/src/components/IconGrid/IconGrid.tsx
+++ b/src/components/IconGrid/IconGrid.tsx
@@ -3,18 +3,27 @@ import { useRecoilValue } from "recoil";
import { motion, useAnimation } from "framer-motion";
import { IconContext } from "phosphor-react";
-import { iconWeightAtom, iconSizeAtom, iconColorAtom } from "../../state/atoms";
+import { iconWeightAtom, iconSizeAtom, iconColorAtom } from "state/atoms";
import {
filteredQueryResultsSelector,
isDarkThemeSelector,
-} from "../../state/selectors";
-import useGridSpans from "../../hooks/useGridSpans";
+} from "state/selectors";
+import useGridSpans from "hooks/useGridSpans";
+
import IconGridItem from "./IconGridItem";
import TagCloud from "./TagCloud";
-import Notice from "../Notice/Notice";
+import Notice from "components/Notice";
+
import "./IconGrid.css";
-const defaultSearchTags = ["*new*", "communication", "editor", "emoji", "maps", "weather"];
+const defaultSearchTags = [
+ "*new*",
+ "communication",
+ "editor",
+ "emoji",
+ "maps",
+ "weather",
+];
type IconGridProps = {};
diff --git a/src/components/IconGrid/IconGridItem.tsx b/src/components/IconGrid/IconGridItem.tsx
index ecd2ee4..7c78777 100644
--- a/src/components/IconGrid/IconGridItem.tsx
+++ b/src/components/IconGrid/IconGridItem.tsx
@@ -7,9 +7,9 @@ import React, {
import { useRecoilState } from "recoil";
import { motion, AnimatePresence } from "framer-motion";
-import { iconPreviewOpenAtom } from "../../state/atoms";
+import { IconEntry } from "lib";
+import { iconPreviewOpenAtom } from "state/atoms";
import DetailsPanel from "./DetailsPanel";
-import { IconEntry } from "../../lib";
interface IconGridItemProps {
index: number;
@@ -86,9 +86,9 @@ const IconGridItem: React.FC = (props) => {