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' }}
>
);
};