import TagItem from '@/components/TagItem' import { NotionRenderer, Equation, Code, CollectionRow, Collection } from 'react-notion-x' import BLOG from '@/blog.config' import formatDate from '@/lib/formatDate' import 'gitalk/dist/gitalk.css' import Comment from '@/components/Comment' import CommonHead from '@/components/CommonHead' import TopNav from '@/components/TopNav' import Progress from '@/components/Progress' import { useRef } from 'react' import Image from 'next/image' import Footer from '@/components/Footer' import RightAside from '@/components/RightAside' import RewardButton from '@/components/RewardButton' import RightWidget from '@/components/RightWidget' import { useTheme } from '@/lib/theme' import LeftAside from '@/components/LeftAside' import BlogPostMini from '@/components/BlogPostMini' const mapPageUrl = id => { return 'https://www.notion.so/' + id.replace(/-/g, '') } const ArticleLayout = ({ children, blockMap, frontMatter, emailHash, fullWidth = true, tags, prev, next }) => { const meta = { title: frontMatter.title, type: 'article' } const targetRef = useRef(null) const { theme } = useTheme() return (