From 23bc477319ad9fad2725891f52b4430092828b0c Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Thu, 7 May 2026 19:42:56 +0200 Subject: [PATCH] auto-git: [change] src/App.tsx --- src/App.tsx | 50 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 12 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 4ec4e27..e56e4fd 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -2,6 +2,8 @@ import { useEffect, useMemo, useState } from "react"; import { open } from "@tauri-apps/plugin-dialog"; import { invoke } from "@tauri-apps/api/core"; import { getCurrentWebview } from "@tauri-apps/api/webview"; +import { markdownToHTML } from "./markdown/markdown"; +import "./markdown/markdown-render.css"; const IMAGE_PROMPT_PLACEHOLDER = "Generated image prompt will appear here."; @@ -77,6 +79,7 @@ export default function App() { const [rephraseVariants, setRephraseVariants] = useState([]); const [rephraseSelected, setRephraseSelected] = useState(null); const [concept, setConcept] = useState(""); + const [markdownPreview, setMarkdownPreview] = useState(false); const [title, setTitle] = useState(""); const [description, setDescription] = useState(""); const [imagePrompt, setImagePrompt] = useState(IMAGE_PROMPT_PLACEHOLDER); @@ -94,6 +97,10 @@ export default function App() { const [priorData, setPriorData] = useState(null); const rows = useMemo(() => [...files, ...websites], [files, websites]); + const markdownPreviewHtml = useMemo( + () => (markdownPreview ? markdownToHTML(concept) : ""), + [concept, markdownPreview] + ); useEffect(() => { let mounted = true; @@ -745,21 +752,40 @@ export default function App() {
-

Concept (Editable)

- Refine and publish +

{markdownPreview ? "Concept (Preview)" : "Concept (Editable)"}

+ {markdownPreview ? "Rendered Markdown" : "Refine and publish"}
-
- setTitle(e.target.value)} placeholder="Title" /> - setDescription(e.target.value)} placeholder="Description" /> -
-