diff --git a/app/(layout)/[...not-found]/page.tsx b/app/(layout)/layout/[...not-found]/page.tsx similarity index 100% rename from app/(layout)/[...not-found]/page.tsx rename to app/(layout)/layout/[...not-found]/page.tsx diff --git a/app/(layout)/blockspace/category-comparison/layout.tsx b/app/(layout)/layout/blockspace/category-comparison/layout.tsx similarity index 100% rename from app/(layout)/blockspace/category-comparison/layout.tsx rename to app/(layout)/layout/blockspace/category-comparison/layout.tsx diff --git a/app/(layout)/blockspace/category-comparison/page.tsx b/app/(layout)/layout/blockspace/category-comparison/page.tsx similarity index 100% rename from app/(layout)/blockspace/category-comparison/page.tsx rename to app/(layout)/layout/blockspace/category-comparison/page.tsx diff --git a/app/(layout)/blockspace/chain-overview/[category]/layout.tsx b/app/(layout)/layout/blockspace/chain-overview/[category]/layout.tsx similarity index 100% rename from app/(layout)/blockspace/chain-overview/[category]/layout.tsx rename to app/(layout)/layout/blockspace/chain-overview/[category]/layout.tsx diff --git a/app/(layout)/blockspace/chain-overview/[category]/page.tsx b/app/(layout)/layout/blockspace/chain-overview/[category]/page.tsx similarity index 100% rename from app/(layout)/blockspace/chain-overview/[category]/page.tsx rename to app/(layout)/layout/blockspace/chain-overview/[category]/page.tsx diff --git a/app/(layout)/blockspace/chain-overview/layout.tsx b/app/(layout)/layout/blockspace/chain-overview/layout.tsx similarity index 100% rename from app/(layout)/blockspace/chain-overview/layout.tsx rename to app/(layout)/layout/blockspace/chain-overview/layout.tsx diff --git a/app/(layout)/blockspace/chain-overview/page.tsx b/app/(layout)/layout/blockspace/chain-overview/page.tsx similarity index 100% rename from app/(layout)/blockspace/chain-overview/page.tsx rename to app/(layout)/layout/blockspace/chain-overview/page.tsx diff --git a/app/(layout)/blockspace/treemap/page.tsx b/app/(layout)/layout/blockspace/treemap/page.tsx similarity index 100% rename from app/(layout)/blockspace/treemap/page.tsx rename to app/(layout)/layout/blockspace/treemap/page.tsx diff --git a/app/(layout)/blog/[originalContentDigest]/[imageURI]/page.tsx b/app/(layout)/layout/blog/[originalContentDigest]/[imageURI]/page.tsx similarity index 100% rename from app/(layout)/blog/[originalContentDigest]/[imageURI]/page.tsx rename to app/(layout)/layout/blog/[originalContentDigest]/[imageURI]/page.tsx diff --git a/app/(layout)/blog/page.tsx b/app/(layout)/layout/blog/page.tsx similarity index 100% rename from app/(layout)/blog/page.tsx rename to app/(layout)/layout/blog/page.tsx diff --git a/app/(layout)/chains/[chain]/layout.tsx b/app/(layout)/layout/chains/[chain]/layout.tsx similarity index 100% rename from app/(layout)/chains/[chain]/layout.tsx rename to app/(layout)/layout/chains/[chain]/layout.tsx diff --git a/app/(layout)/chains/[chain]/page.tsx b/app/(layout)/layout/chains/[chain]/page.tsx similarity index 100% rename from app/(layout)/chains/[chain]/page.tsx rename to app/(layout)/layout/chains/[chain]/page.tsx diff --git a/app/(layout)/contracts/[address]/page.tsx b/app/(layout)/layout/contracts/[address]/page.tsx similarity index 100% rename from app/(layout)/contracts/[address]/page.tsx rename to app/(layout)/layout/contracts/[address]/page.tsx diff --git a/app/(layout)/contracts/address-search.tsx b/app/(layout)/layout/contracts/address-search.tsx similarity index 100% rename from app/(layout)/contracts/address-search.tsx rename to app/(layout)/layout/contracts/address-search.tsx diff --git a/app/(layout)/contracts/layout.tsx b/app/(layout)/layout/contracts/layout.tsx similarity index 100% rename from app/(layout)/contracts/layout.tsx rename to app/(layout)/layout/contracts/layout.tsx diff --git a/app/(layout)/contracts/page.tsx b/app/(layout)/layout/contracts/page.tsx similarity index 100% rename from app/(layout)/contracts/page.tsx rename to app/(layout)/layout/contracts/page.tsx diff --git a/app/(layout)/contributors/layout.tsx b/app/(layout)/layout/contributors/layout.tsx similarity index 100% rename from app/(layout)/contributors/layout.tsx rename to app/(layout)/layout/contributors/layout.tsx diff --git a/app/(layout)/contributors/page.tsx b/app/(layout)/layout/contributors/page.tsx similarity index 100% rename from app/(layout)/contributors/page.tsx rename to app/(layout)/layout/contributors/page.tsx diff --git a/app/(layout)/error.tsx b/app/(layout)/layout/error.tsx similarity index 100% rename from app/(layout)/error.tsx rename to app/(layout)/layout/error.tsx diff --git a/app/(layout)/fees-explainer/page.tsx b/app/(layout)/layout/fees-explainer/page.tsx similarity index 100% rename from app/(layout)/fees-explainer/page.tsx rename to app/(layout)/layout/fees-explainer/page.tsx diff --git a/app/(layout)/fundamentals/[metric]/layout.tsx b/app/(layout)/layout/fundamentals/[metric]/layout.tsx similarity index 100% rename from app/(layout)/fundamentals/[metric]/layout.tsx rename to app/(layout)/layout/fundamentals/[metric]/layout.tsx diff --git a/app/(layout)/fundamentals/[metric]/loading_2.tsx b/app/(layout)/layout/fundamentals/[metric]/loading_2.tsx similarity index 100% rename from app/(layout)/fundamentals/[metric]/loading_2.tsx rename to app/(layout)/layout/fundamentals/[metric]/loading_2.tsx diff --git a/app/(layout)/fundamentals/[metric]/page.tsx b/app/(layout)/layout/fundamentals/[metric]/page.tsx similarity index 100% rename from app/(layout)/fundamentals/[metric]/page.tsx rename to app/(layout)/layout/fundamentals/[metric]/page.tsx diff --git a/app/(layout)/head.tsx b/app/(layout)/layout/head.tsx similarity index 100% rename from app/(layout)/head.tsx rename to app/(layout)/layout/head.tsx diff --git a/app/(layout)/imprint/layout.tsx b/app/(layout)/layout/imprint/layout.tsx similarity index 100% rename from app/(layout)/imprint/layout.tsx rename to app/(layout)/layout/imprint/layout.tsx diff --git a/app/(layout)/imprint/page.tsx b/app/(layout)/layout/imprint/page.tsx similarity index 100% rename from app/(layout)/imprint/page.tsx rename to app/(layout)/layout/imprint/page.tsx diff --git a/app/(layout)/layout.tsx b/app/(layout)/layout/layout.tsx similarity index 100% rename from app/(layout)/layout.tsx rename to app/(layout)/layout/layout.tsx diff --git a/app/(layout)/loading_2.tsx b/app/(layout)/layout/loading_2.tsx similarity index 100% rename from app/(layout)/loading_2.tsx rename to app/(layout)/layout/loading_2.tsx diff --git a/app/(layout)/not-found.tsx b/app/(layout)/layout/not-found.tsx similarity index 100% rename from app/(layout)/not-found.tsx rename to app/(layout)/layout/not-found.tsx diff --git a/app/(layout)/page.tsx b/app/(layout)/layout/page.tsx similarity index 100% rename from app/(layout)/page.tsx rename to app/(layout)/layout/page.tsx diff --git a/app/(layout)/privacy-policy/layout.tsx b/app/(layout)/layout/privacy-policy/layout.tsx similarity index 100% rename from app/(layout)/privacy-policy/layout.tsx rename to app/(layout)/layout/privacy-policy/layout.tsx diff --git a/app/(layout)/privacy-policy/page.tsx b/app/(layout)/layout/privacy-policy/page.tsx similarity index 100% rename from app/(layout)/privacy-policy/page.tsx rename to app/(layout)/layout/privacy-policy/page.tsx diff --git a/app/(layout)/server-sitemap.xml/route.ts b/app/(layout)/layout/server-sitemap.xml/route.ts similarity index 100% rename from app/(layout)/server-sitemap.xml/route.ts rename to app/(layout)/layout/server-sitemap.xml/route.ts diff --git a/app/(layout)/trackers/eip4844/page.tsx b/app/(layout)/layout/trackers/eip4844/page.tsx similarity index 100% rename from app/(layout)/trackers/eip4844/page.tsx rename to app/(layout)/layout/trackers/eip4844/page.tsx diff --git a/app/(layout)/trackers/octant/OctantLinks.tsx b/app/(layout)/layout/trackers/octant/OctantLinks.tsx similarity index 100% rename from app/(layout)/trackers/octant/OctantLinks.tsx rename to app/(layout)/layout/trackers/octant/OctantLinks.tsx diff --git a/app/(layout)/trackers/octant/OctantSubheader.tsx b/app/(layout)/layout/trackers/octant/OctantSubheader.tsx similarity index 100% rename from app/(layout)/trackers/octant/OctantSubheader.tsx rename to app/(layout)/layout/trackers/octant/OctantSubheader.tsx diff --git a/app/(layout)/trackers/octant/OctantTable.tsx b/app/(layout)/layout/trackers/octant/OctantTable.tsx similarity index 100% rename from app/(layout)/trackers/octant/OctantTable.tsx rename to app/(layout)/layout/trackers/octant/OctantTable.tsx diff --git a/app/(layout)/trackers/octant/layout.tsx b/app/(layout)/layout/trackers/octant/layout.tsx similarity index 100% rename from app/(layout)/trackers/octant/layout.tsx rename to app/(layout)/layout/trackers/octant/layout.tsx diff --git a/app/(layout)/trackers/octant/page.tsx b/app/(layout)/layout/trackers/octant/page.tsx similarity index 100% rename from app/(layout)/trackers/octant/page.tsx rename to app/(layout)/layout/trackers/octant/page.tsx diff --git a/app/(layout)/trackers/optimism-retropgf-3/layout.tsx b/app/(layout)/layout/trackers/optimism-retropgf-3/layout.tsx similarity index 100% rename from app/(layout)/trackers/optimism-retropgf-3/layout.tsx rename to app/(layout)/layout/trackers/optimism-retropgf-3/layout.tsx diff --git a/app/(layout)/trackers/optimism-retropgf-3/osoApplicantData.ts b/app/(layout)/layout/trackers/optimism-retropgf-3/osoApplicantData.ts similarity index 100% rename from app/(layout)/trackers/optimism-retropgf-3/osoApplicantData.ts rename to app/(layout)/layout/trackers/optimism-retropgf-3/osoApplicantData.ts diff --git a/app/(layout)/trackers/optimism-retropgf-3/osoProjectStats.ts b/app/(layout)/layout/trackers/optimism-retropgf-3/osoProjectStats.ts similarity index 100% rename from app/(layout)/trackers/optimism-retropgf-3/osoProjectStats.ts rename to app/(layout)/layout/trackers/optimism-retropgf-3/osoProjectStats.ts diff --git a/app/(layout)/trackers/optimism-retropgf-3/osoTaggedProjects.ts b/app/(layout)/layout/trackers/optimism-retropgf-3/osoTaggedProjects.ts similarity index 100% rename from app/(layout)/trackers/optimism-retropgf-3/osoTaggedProjects.ts rename to app/(layout)/layout/trackers/optimism-retropgf-3/osoTaggedProjects.ts diff --git a/app/(layout)/trackers/optimism-retropgf-3/page.tsx b/app/(layout)/layout/trackers/optimism-retropgf-3/page.tsx similarity index 100% rename from app/(layout)/trackers/optimism-retropgf-3/page.tsx rename to app/(layout)/layout/trackers/optimism-retropgf-3/page.tsx diff --git a/app/(layout)/trackers/optimism-retropgf-3/recoveredListData.ts b/app/(layout)/layout/trackers/optimism-retropgf-3/recoveredListData.ts similarity index 100% rename from app/(layout)/trackers/optimism-retropgf-3/recoveredListData.ts rename to app/(layout)/layout/trackers/optimism-retropgf-3/recoveredListData.ts diff --git a/app/(layout)/trackers/optimism-retropgf-3/rpgf3_results.ts b/app/(layout)/layout/trackers/optimism-retropgf-3/rpgf3_results.ts similarity index 100% rename from app/(layout)/trackers/optimism-retropgf-3/rpgf3_results.ts rename to app/(layout)/layout/trackers/optimism-retropgf-3/rpgf3_results.ts diff --git a/app/(refactor)/[...not-found]/page.tsx b/app/(refactor)/[...not-found]/page.tsx new file mode 100644 index 00000000..7537a573 --- /dev/null +++ b/app/(refactor)/[...not-found]/page.tsx @@ -0,0 +1,5 @@ +import { notFound } from "next/navigation"; + +export default function NotFoundCatchAll() { + notFound(); +} diff --git a/app/(refactor)/head.tsx b/app/(refactor)/head.tsx new file mode 100644 index 00000000..020c189c --- /dev/null +++ b/app/(refactor)/head.tsx @@ -0,0 +1,74 @@ +import { IS_PRODUCTION } from "@/lib/helpers"; +import { getCookie } from "cookies-next"; +import Script from "next/script"; + +export default function Head() { + const consent = getCookie("growthepieCookieConsent"); + + return ( + <> + + + + {/* + + */} + + + + + {IS_PRODUCTION && ( + <> + + {consent === true && ( + + )} + > + )} + > + ); +} diff --git a/app/(refactor)/layout.tsx b/app/(refactor)/layout.tsx new file mode 100644 index 00000000..0c37a0c1 --- /dev/null +++ b/app/(refactor)/layout.tsx @@ -0,0 +1,107 @@ +import "../globals.css"; +import { Analytics } from "@vercel/analytics/react"; +import { Providers } from "../providers"; +import CookieConsent from "@/components/layout/CookieConsent"; +import { Raleway, Inter, Roboto_Mono } from "next/font/google"; +import Header from "@/components/layout/Header"; +import SidebarContainer from "@/components/layout/SidebarContainer"; +import Head from "./head"; +import Share from "@/components/Share"; +import BottomBanner from "@/components/BottomBanner"; +import { baseMetadata } from "@/refactor/lib/seo/metadata"; +import { baseJsonLd } from "@/refactor/lib/seo/jsonLd"; + +import "../background.css"; +import { Metadata } from "next"; + +export const metadata: Metadata = baseMetadata; + +export const viewport = { + width: "device-width", + initialScale: "1.0", + themeColor: "dark", +}; + +// If loading a variable font, you don't need to specify the font weight +const raleway = Raleway({ + subsets: ["latin"], + variable: "--font-raleway", + display: "swap", +}); + +const inter = Inter({ + subsets: ["latin"], + variable: "--font-inter", + display: "swap", +}); + +const robotoMono = Roboto_Mono({ + subsets: ["latin"], + variable: "--font-roboto-mono", + display: "swap", +}); + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + +
+ +