Add markdown preview and export options in App component
This commit is contained in:
30
src/App.tsx
30
src/App.tsx
@@ -887,7 +887,7 @@ export default function App() {
|
||||
</div>
|
||||
|
||||
<div className="editor__textarea-wrap">
|
||||
{showLineNumbers ? (
|
||||
{showLineNumbersActive ? (
|
||||
<div className="line-measure" ref={measureRef} aria-hidden="true">
|
||||
{lines.map((line, index) => (
|
||||
<div key={index} className="line-measure__line">
|
||||
@@ -896,7 +896,7 @@ export default function App() {
|
||||
))}
|
||||
</div>
|
||||
) : null}
|
||||
{showLineNumbers ? (
|
||||
{showLineNumbersActive ? (
|
||||
<div className="line-numbers" ref={lineNumbersRef}>
|
||||
{lineNumbers.map((line, index) => (
|
||||
<div
|
||||
@@ -909,6 +909,12 @@ export default function App() {
|
||||
))}
|
||||
</div>
|
||||
) : null}
|
||||
{markdownPreview ? (
|
||||
<div
|
||||
className="markdown-preview md-root"
|
||||
dangerouslySetInnerHTML={{ __html: markdownToHTML(body) }}
|
||||
/>
|
||||
) : (
|
||||
<textarea
|
||||
ref={textareaRef}
|
||||
className="editor__textarea"
|
||||
@@ -918,13 +924,33 @@ export default function App() {
|
||||
placeholder="Write your text here…"
|
||||
readOnly={isViewingHistory}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="editor__footer">
|
||||
{hasText ? (
|
||||
<>
|
||||
<button className="button" onClick={handleExportText}>
|
||||
Export Text
|
||||
</button>
|
||||
{markdownPreview ? (
|
||||
<>
|
||||
<button className="button" type="button">
|
||||
Export PDF
|
||||
</button>
|
||||
<button className="button" type="button">
|
||||
Print
|
||||
</button>
|
||||
</>
|
||||
) : null}
|
||||
<button
|
||||
className="button"
|
||||
type="button"
|
||||
onClick={() => setMarkdownPreview((value) => !value)}
|
||||
>
|
||||
{markdownPreview ? "Edit" : "Preview Markdown"}
|
||||
</button>
|
||||
</>
|
||||
) : null}
|
||||
{hasDraft && !isViewingHistory ? (
|
||||
<button
|
||||
|
||||
Reference in New Issue
Block a user