import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; import { Badge } from '@/components/ui/badge'; import { Separator } from '@/components/ui/separator'; import { SharedData } from '@/types/global'; import { Renderer } from 'richtor'; import 'richtor/styles'; interface Props extends SharedData { blog: Blog; } const Preview = ({ blog }: Props) => { const createdAt = new Date(blog.created_at).toLocaleDateString(); const authorInitials = blog.user?.name ? blog.user.name .split(' ') .map((n) => n.charAt(0)) .join('') .toUpperCase() : 'AU'; const bannerSrc = blog.banner || '/assets/images/blank-image.jpg'; const thumbnailSrc = blog.thumbnail || '/assets/images/blank-image.jpg'; const keywords = (blog.keywords || '') .split(',') .map((k) => k.trim()) .filter(Boolean); return (