import { useState } from 'react' import { useLoaderData } from 'react-router-dom' import StarterKit from '@tiptap/starter-kit' import Link from '@tiptap/extension-link' import Image from '@tiptap/extension-image' import { EditorContent, useEditor } from '@tiptap/react' import DOMPurify from 'dompurify' import { marked } from 'marked' import { LoadingSpinner } from 'components/LoadingSpinner' import { ProfileSection } from 'components/ProfileSection' import { Comments } from 'components/comment' import { Addressable, BlogPageLoaderResult } from 'types' import placeholder from '../../assets/img/DEGMods Placeholder Img.png' import { PublishDetails } from 'components/Internal/PublishDetails' import { Interactions } from 'components/Internal/Interactions' import { BlogCard } from 'components/BlogCard' export const BlogPage = () => { const { blog, latest } = useLoaderData() as BlogPageLoaderResult const [commentCount, setCommentCount] = useState(0) const html = marked.parse(blog?.content || '', { async: false }) const sanitized = DOMPurify.sanitize(html) const editor = useEditor( { content: sanitized, extensions: [ StarterKit, Link, Image.configure({ inline: true, HTMLAttributes: { class: 'IBMSMSMBSSPostImg' } }) ], editable: false }, [sanitized] ) return (
) }