Files
web2.0-frontend/src/components/Widgets/MarkdownEditorWidget.tsx
T
Aarni Halinen 1189c53f93 Fix linter
2021-11-11 21:04:46 +02:00

42 lines
997 B
TypeScript

import React from "react";
import styled from "styled-components";
import ReactMde from "react-mde";
import { WidgetProps } from "@rjsf/core";
import MarkdownStyles from "@views/common/MarkdownStyles";
type MarkdownEditorWidgetProps = WidgetProps;
const Container = styled.div`
background: white;
color: black;
button {
color: black;
}
.mde-preview {
min-height: unset !important;
height: 200px;
overflow: scroll;
}
`;
const MarkdownEditorWidget: React.FC<MarkdownEditorWidgetProps> = ({ value, onChange }) => {
const [selectedTab, setSelectedTab] = React.useState<"write" | "preview">("write");
return (
<Container>
<ReactMde
value={value}
onChange={onChange}
selectedTab={selectedTab}
onTabChange={setSelectedTab}
generateMarkdownPreview={(markdown) => Promise.resolve(
<MarkdownStyles>{markdown}</MarkdownStyles>,
)}
/>
</Container>
);
};
export default MarkdownEditorWidget;