You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.1 KiB

import React, { useState } from "react";
import { noop } from "../../utils";
import EditableNoteArea from "../EditableNoteArea/EditableNoteArea";
import "./NoteContent.css";
export default function NoteContent({ content = "", onSave = noop }) {
const [renderMarkdown, setRenderMarkdown] = useState(false);
return (
<div className="NoteContent">
<header className="controls">
<Checkbox
label="Preview Markdown"
onChange={checked => setRenderMarkdown(checked)}
/>
</header>
<EditableNoteArea
content={content}
onSave={onSave}
preview={renderMarkdown}
/>
</div>
);
}
const Checkbox = ({
className = "",
onChange = noop,
label = "checkbox",
defaultChecked = false
}) => (
<div className={className}>
<label>{label}:</label>
<input
type="checkbox"
defaultChecked={defaultChecked}
onChange={({ target }) => onChange(target.checked)}
/>
</div>
);