import type * as types from 'notion-types' import { IoMoonSharp } from '@react-icons/all-files/io5/IoMoonSharp' import { IoSunnyOutline } from '@react-icons/all-files/io5/IoSunnyOutline' import cs from 'classnames' import * as React from 'react' import { Breadcrumbs, Header, Search, useNotionContext } from 'react-notion-x' import { isSearchEnabled, navigationLinks, navigationStyle } from '@/lib/config' import { useDarkMode } from '@/lib/use-dark-mode' import styles from './styles.module.css' function ToggleThemeButton() { const [hasMounted, setHasMounted] = React.useState(false) const { isDarkMode, toggleDarkMode } = useDarkMode() React.useEffect(() => { setHasMounted(true) }, []) const onToggleTheme = React.useCallback(() => { toggleDarkMode() }, [toggleDarkMode]) return (
{hasMounted && isDarkMode ? : }
) } export function NotionPageHeader({ block }: { block: types.CollectionViewPageBlock | types.PageBlock }) { const { components, mapPageUrl } = useNotionContext() if (navigationStyle === 'default') { return
} return (
{navigationLinks ?.map((link, index) => { if (!link?.pageId && !link?.url) { return null } if (link.pageId) { return ( {link.title} ) } else { return ( {link.title} ) } }) .filter(Boolean)} {isSearchEnabled && }
) }