import React, { useEffect, useState } from 'react'; import { LogoIcon, SunIcon, MoonIcon, MoreIcon, ExportIcon } from './icons'; import { StyledHeader, StyledTitle, StyledTitleWrapper, StyledLogo, StyledHeaderRightSide, StyledMoreMenuItem, IconButton, } from './styles'; import { Popover } from '@/components/popover'; import { useTheme } from '@/styles'; import { useEditor } from '@/components/editor-provider'; import EditorModeSwitch from '@/components/editor-mode-switch'; const DarkModeSwitch = () => { const { changeMode, mode } = useTheme(); return ( <> {mode === 'dark' ? ( { changeMode('light'); }} > ) : ( { changeMode('dark'); }} > )} ); }; const PopoverContent = () => { const { editor } = useEditor(); return (
{ editor && editor.contentParser.onExportHtml(); }} > Export to HTML { editor && editor.contentParser.onExportMarkdown(); }} > Export to markdown
); }; export const Header = () => { const [title, setTitle] = useState(''); const [isHover, setIsHover] = useState(false); const { editor } = useEditor(); useEffect(() => { if (editor) { setTitle(editor.model.title || ''); editor.model.propsUpdated.on(() => { setTitle(editor.model.title); }); } }, [editor]); return ( {}} /> { setIsHover(true); }} onMouseLeave={() => { setIsHover(false); }} > {title} } style={{ marginLeft: '20px' }} > ); };