import * as React from 'react' import cs from 'classnames' import { IoSunnyOutline } from '@react-icons/all-files/io5/IoSunnyOutline' import { IoMoonSharp } from '@react-icons/all-files/io5/IoMoonSharp' import { Header, Breadcrumbs, Search, useNotionContext } from 'react-notion-x' import * as types from 'notion-types' import { useDarkMode } from 'lib/use-dark-mode' import { navigationStyle, navigationLinks, isSearchEnabled } from 'lib/config' import styles from './styles.module.css' const 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 const NotionPageHeader: React.FC<{ block: types.CollectionViewPageBlock | types.PageBlock }> = ({ block }) => { 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 && }
) }