diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 2562a84e..ed607531 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,4 +1,3 @@ -import "aplayer-react/dist/index.css" import { dir } from "i18next" import { Metadata } from "next" import { Toaster } from "react-hot-toast" diff --git a/src/app/site/[site]/layout.tsx b/src/app/site/[site]/layout.tsx index fd646d5f..cc0e5bce 100644 --- a/src/app/site/[site]/layout.tsx +++ b/src/app/site/[site]/layout.tsx @@ -5,7 +5,7 @@ import { notFound } from "next/navigation" import { Hydrate, dehydrate } from "@tanstack/react-query" import { BlockchainInfo } from "~/components/common/BlockchainInfo" -import { Style } from "~/components/common/Style" +import Style from "~/components/common/Style" import { BackToTopFAB } from "~/components/site/BackToTopFAB" import SiteFooter from "~/components/site/SiteFooter" import { SiteHeader } from "~/components/site/SiteHeader" diff --git a/src/components/common/Style.tsx b/src/components/common/Style.tsx index 0830d78b..e312a935 100644 --- a/src/components/common/Style.tsx +++ b/src/components/common/Style.tsx @@ -1,6 +1,6 @@ import { toGateway } from "~/lib/ipfs-parser" -export const Style: React.FC<{ +const Style: React.FC<{ content?: string children?: React.ReactNode[] }> = ({ content, children }) => { @@ -22,3 +22,5 @@ export const Style: React.FC<{ /> ) } + +export default Style diff --git a/src/components/ui/APlayer.tsx b/src/components/ui/APlayer.tsx index 45311365..913f28db 100644 --- a/src/components/ui/APlayer.tsx +++ b/src/components/ui/APlayer.tsx @@ -1,9 +1,10 @@ import { APlayer as AplayerReact } from "aplayer-react" +import "aplayer-react/dist/index.css" import { memo } from "react" import { toGateway } from "~/lib/ipfs-parser" -export const APlayer: React.FC< +const APlayer: React.FC< { name?: string artist?: string @@ -45,3 +46,5 @@ export const APlayer: React.FC< /> ) }) + +export default APlayer diff --git a/src/components/ui/Image.tsx b/src/components/ui/Image.tsx index 2f8f822b..751f4df9 100644 --- a/src/components/ui/Image.tsx +++ b/src/components/ui/Image.tsx @@ -151,7 +151,7 @@ export const Image: React.FC = ({ ) } -export const ZoomedImage: React.FC = (props) => { +const ZoomedImage: React.FC = (props) => { return ( {/* eslint-disable-next-line jsx-a11y/alt-text */} @@ -159,3 +159,5 @@ export const ZoomedImage: React.FC = (props) => { ) } + +export default ZoomedImage diff --git a/src/components/ui/Mention.tsx b/src/components/ui/Mention.tsx index 801516d5..a49ded74 100644 --- a/src/components/ui/Mention.tsx +++ b/src/components/ui/Mention.tsx @@ -18,7 +18,7 @@ const getSiteId = ({ id, children }: { id: string; children?: any }) => { } } -export const Mention: React.FC<{ +const Mention: React.FC<{ id: string children?: any }> = memo( @@ -48,3 +48,5 @@ export const Mention: React.FC<{ return getSiteId(prevProps) === getSiteId(nextProps) }, ) + +export default Mention diff --git a/src/components/ui/Mermaid.tsx b/src/components/ui/Mermaid.tsx index 2259ecb6..ec169447 100644 --- a/src/components/ui/Mermaid.tsx +++ b/src/components/ui/Mermaid.tsx @@ -6,9 +6,9 @@ import { FC, memo, useEffect, useState } from "react" import { useIsDark } from "~/hooks/useDarkMode" import { useIsUnmounted } from "~/hooks/useLifecycle" -import { ZoomedImage } from "./Image" +import ZoomedImage from "./Image" -export const Mermaid: FC<{ +const Mermaid: FC<{ children: [string] }> = memo( function Mermaid(props) { @@ -95,3 +95,5 @@ export const Mermaid: FC<{ return prevProps.children?.[0] === nextProps.children?.[0] }, ) + +export default Mermaid diff --git a/src/components/ui/Tweet.tsx b/src/components/ui/Tweet.tsx index 3c7e703e..800feaea 100644 --- a/src/components/ui/Tweet.tsx +++ b/src/components/ui/Tweet.tsx @@ -7,6 +7,6 @@ const components: TweetComponents = { MediaImg: (props) => , } -export function Tweet({ id }: { id: string }) { +export default function Tweet({ id }: { id: string }) { return } diff --git a/src/markdown/index.ts b/src/markdown/index.ts index af1c3fa5..68252718 100644 --- a/src/markdown/index.ts +++ b/src/markdown/index.ts @@ -29,13 +29,6 @@ import remarkParse from "remark-parse" import remarkRehype from "remark-rehype" import { unified } from "unified" -import { Style } from "~/components/common/Style" -import { APlayer } from "~/components/ui/APlayer" -import { ZoomedImage } from "~/components/ui/Image" -import { Mention } from "~/components/ui/Mention" -import { Mermaid } from "~/components/ui/Mermaid" -import { Tweet } from "~/components/ui/Tweet" - import { rehypeAudio } from "./rehype-audio" import { allowedCustomWrappers, @@ -54,6 +47,12 @@ import { remarkPangu } from "./remark-pangu" import { remarkYoutube } from "./remark-youtube" import sanitizeScheme from "./sanitize-schema" +const ZoomedImage = dynamic(() => import("~/components/ui/Image")) +const Style = dynamic(() => import("~/components/common/Style")) +const Mention = dynamic(() => import("~/components/ui/Mention")) +const Mermaid = dynamic(() => import("~/components/ui/Mermaid")) +const Tweet = dynamic(() => import("~/components/ui/Tweet")) +const APlayer = dynamic(() => import("~/components/ui/APlayer")) const DPlayer = dynamic(() => import("~/components/ui/DPlayer"), { ssr: false, })