From dd2e60873517ddaf588e29666f2c5843fde77937 Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Mon, 19 Jun 2023 16:03:12 +0200 Subject: [PATCH 1/2] perf: Only use ContentMDXProvider where necessary --- app/components/content-mdx-provider.tsx | 3 +-- app/homepage/intro.tsx | 3 ++- app/pages/[slug].tsx | 7 ++++++- app/pages/_app.tsx | 13 +++++-------- app/pages/index.tsx | 7 ++++++- 5 files changed, 20 insertions(+), 13 deletions(-) diff --git a/app/components/content-mdx-provider.tsx b/app/components/content-mdx-provider.tsx index 7d1136de0..3e8997dd1 100644 --- a/app/components/content-mdx-provider.tsx +++ b/app/components/content-mdx-provider.tsx @@ -3,7 +3,7 @@ import { Box } from "@mui/material"; import { ReactNode } from "react"; import { ContentLayout, StaticContentLayout } from "@/components/layout"; -import { Intro, Tutorial, Examples, Contribute } from "@/homepage"; +import { Contribute, Examples, Intro, Tutorial } from "@/homepage"; const castContentId = (contentId: unknown) => { if (typeof contentId === "string") { @@ -30,7 +30,6 @@ const Wrapper = ({ const defaultMDXComponents = { wrapper: Wrapper, - // p: (props: $FixMe) =>

, Box, Intro, Tutorial, diff --git a/app/homepage/intro.tsx b/app/homepage/intro.tsx index c13001012..bff30f0cb 100644 --- a/app/homepage/intro.tsx +++ b/app/homepage/intro.tsx @@ -1,6 +1,6 @@ import { Box, Button, Typography } from "@mui/material"; import NextLink from "next/link"; -import React, { ReactNode } from "react"; +import { ReactNode } from "react"; import { HintRed } from "@/components/hint"; @@ -75,6 +75,7 @@ export const Title = ({ children }: { children: ReactNode }) => ( {children} ); + export const Teaser = ({ children }: { children: ReactNode }) => ( : "NOT FOUND"; + return ( + + {Component ? : "NOT FOUND"} + + ); } export const getStaticPaths: GetStaticPaths = async () => { diff --git a/app/pages/_app.tsx b/app/pages/_app.tsx index 0d140ce32..0c877b157 100644 --- a/app/pages/_app.tsx +++ b/app/pages/_app.tsx @@ -1,25 +1,24 @@ import { I18nProvider } from "@lingui/react"; // Used for color-picker component. Must include here because of next.js constraints about global CSS imports -import "core-js/features/array/flat-map"; import { CssBaseline, ThemeProvider } from "@mui/material"; +import "core-js/features/array/flat-map"; import { SessionProvider } from "next-auth/react"; import { AppProps } from "next/app"; import Head from "next/head"; import { useRouter } from "next/router"; import { useEffect } from "react"; -import { ContentMDXProvider } from "@/components/content-mdx-provider"; import { PUBLIC_URL } from "@/domain/env"; import { flag } from "@/flags/flag"; import DebugPanel from "@/gql-flamegraph/devtool"; import { GraphqlProvider } from "@/graphql/GraphqlProvider"; -import "@/utils/nprogress.css"; import { i18n, parseLocaleString } from "@/locales/locales"; import { LocaleProvider } from "@/locales/use-locale"; import * as federalTheme from "@/themes/federal"; import Flashes from "@/utils/flashes"; import { analyticsPageView } from "@/utils/googleAnalytics"; import AsyncLocalizationProvider from "@/utils/l10n-provider"; +import "@/utils/nprogress.css"; import { useNProgress } from "@/utils/use-nprogress"; export default function App({ @@ -88,11 +87,9 @@ export default function App({ {shouldShowDebug ? : null} - - - - - + + + diff --git a/app/pages/index.tsx b/app/pages/index.tsx index b403f16f6..252fbbb99 100644 --- a/app/pages/index.tsx +++ b/app/pages/index.tsx @@ -1,5 +1,6 @@ import { GetStaticProps } from "next"; +import { ContentMDXProvider } from "@/components/content-mdx-provider"; import { staticPages } from "@/static-pages"; /** @@ -18,7 +19,11 @@ interface ContentPageProps { export default function ContentPage({ staticPage }: ContentPageProps) { const Component = staticPages[staticPage]?.component; - return Component ? : "NOT FOUND"; + return ( + + {Component ? : "NOT FOUND"} + + ); } export const getStaticProps: GetStaticProps = async ({ From 0bc4d8f1e1645149e7b4dbd9571641a013901ae3 Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Tue, 20 Jun 2023 10:02:34 +0200 Subject: [PATCH 2/2] docs: Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52abb88dc..04cecf005 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ You can also check the [release page](https://github.com/visualize-admin/visuali - Performance - The debug data is now only sent along with the payload when the debug mode is enabled + - ContentMDXProvider is now only imported within the pages that actually need it instead of being included in the root of the app # [3.20.1] - 2023-06-19