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, BlogDetails } from 'types' import placeholder from '../../assets/img/DEGMods Placeholder Img.png' import { PublishDetails } from 'components/Internal/PublishDetails' import { Interactions } from 'components/Internal/Interactions' export const BlogPage = () => { const data = useLoaderData() as Partial const [commentCount, setCommentCount] = useState(0) const html = marked.parse(data?.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 }) return (
{!data ? ( ) : ( )} {!!data?.author && }
) }