UNPKG

@nlabs/gothamjs

Version:
39 lines (38 loc) 4 kB
import { useEffect, useState } from "react"; import ReactMarkdown from "react-markdown"; import { fetchJsonFromUrl, parseTemplate } from "../../utils/contentUtils.js"; import { jsx } from "react/jsx-runtime"; const MarkdownView = ({ className = "", content, url, values = {} }) => { const [markdown, setMarkdown] = useState(""); useEffect(() => { const loadContent = async () => { try { if (url) { const data = await fetchJsonFromUrl(url); setMarkdown(parseTemplate(data, values)); } else if (content) { setMarkdown(parseTemplate(content, values)); } } catch (error) { console.error("Failed to load markdown content:", error); setMarkdown("Error loading content"); } }; loadContent(); }, [url, content, values]); return /* @__PURE__ */ jsx("div", { className: `markdown-container ${className}`, style: { backgroundColor: "transparent", height: "100%", overflow: "auto", width: "100%" }, children: /* @__PURE__ */ jsx(ReactMarkdown, { children: markdown }) }); }; export { MarkdownView }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3ZpZXdzL01hcmtkb3duVmlldy9NYXJrZG93blZpZXcudHN4Il0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3QsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5cbmltcG9ydCB7ZmV0Y2hKc29uRnJvbVVybCwgcGFyc2VUZW1wbGF0ZX0gZnJvbSAnLi4vLi4vdXRpbHMvY29udGVudFV0aWxzLmpzJztcblxuXG5pbnRlcmZhY2UgTWFya2Rvd25WaWV3UHJvcHMge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG4gIHVybD86IHN0cmluZztcbiAgdmFsdWVzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCBjb25zdCBNYXJrZG93blZpZXc6IFJlYWN0LkZDPE1hcmtkb3duVmlld1Byb3BzPiA9ICh7XG4gIGNsYXNzTmFtZSA9ICcnLFxuICBjb250ZW50LFxuICB1cmwsXG4gIHZhbHVlcyA9IHt9XG59KSA9PiB7XG4gIGNvbnN0IFttYXJrZG93biwgc2V0TWFya2Rvd25dID0gdXNlU3RhdGU8c3RyaW5nPignJyk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBsb2FkQ29udGVudCA9IGFzeW5jICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgZmV0Y2hKc29uRnJvbVVybCh1cmwpO1xuICAgICAgICAgIHNldE1hcmtkb3duKHBhcnNlVGVtcGxhdGUoZGF0YSBhcyBzdHJpbmcsIHZhbHVlcykpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgICBzZXRNYXJrZG93bihwYXJzZVRlbXBsYXRlKGNvbnRlbnQsIHZhbHVlcykpO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCBtYXJrZG93biBjb250ZW50OicsIGVycm9yKTtcbiAgICAgICAgc2V0TWFya2Rvd24oJ0Vycm9yIGxvYWRpbmcgY29udGVudCcpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBsb2FkQ29udGVudCgpO1xuICB9LCBbdXJsLCBjb250ZW50LCB2YWx1ZXNdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtgbWFya2Rvd24tY29udGFpbmVyICR7Y2xhc3NOYW1lfWB9IHN0eWxlPXt7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIG92ZXJmbG93OiAnYXV0bycsXG4gICAgICB3aWR0aDogJzEwMCUnXG4gICAgfX0+XG4gICAgICA8UmVhY3RNYXJrZG93bj57bWFya2Rvd259PC9SZWFjdE1hcmtkb3duPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQWUsV0FBVyxnQkFBZTtBQUN6QyxPQUFPLG1CQUFtQjtBQUUxQixTQUFRLGtCQUFrQixxQkFBb0I7QUEyQ3hDO0FBakNDLE1BQU0sZUFBNEMsQ0FBQztBQUFBLEVBQ3hELFlBQVk7QUFBQSxFQUNaO0FBQUEsRUFDQTtBQUFBLEVBQ0EsU0FBUyxDQUFDO0FBQ1osTUFBTTtBQUNKLFFBQU0sQ0FBQyxVQUFVLFdBQVcsSUFBSSxTQUFpQixFQUFFO0FBRW5ELFlBQVUsTUFBTTtBQUNkLFVBQU0sY0FBYyxZQUFZO0FBQzlCLFVBQUk7QUFDRixZQUFJLEtBQUs7QUFDUCxnQkFBTSxPQUFPLE1BQU0saUJBQWlCLEdBQUc7QUFDdkMsc0JBQVksY0FBYyxNQUFnQixNQUFNLENBQUM7QUFBQSxRQUNuRCxXQUFXLFNBQVM7QUFDbEIsc0JBQVksY0FBYyxTQUFTLE1BQU0sQ0FBQztBQUFBLFFBQzVDO0FBQUEsTUFDRixTQUFTLE9BQU87QUFDZCxnQkFBUSxNQUFNLG9DQUFvQyxLQUFLO0FBQ3ZELG9CQUFZLHVCQUF1QjtBQUFBLE1BQ3JDO0FBQUEsSUFDRjtBQUVBLGdCQUFZO0FBQUEsRUFDZCxHQUFHLENBQUMsS0FBSyxTQUFTLE1BQU0sQ0FBQztBQUV6QixTQUNFLG9CQUFDLFNBQUksV0FBVyxzQkFBc0IsU0FBUyxJQUFJLE9BQU87QUFBQSxJQUN4RCxpQkFBaUI7QUFBQSxJQUNqQixRQUFRO0FBQUEsSUFDUixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsRUFDVCxHQUNFLDhCQUFDLGlCQUFlLG9CQUFTLEdBQzNCO0FBRUo7IiwKICAibmFtZXMiOiBbXQp9Cg==