import htmlParse from 'html-react-parser' import { useReadingTime } from 'react-hook-reading-time' import { useRouteLoaderData } from 'react-router' import { twMerge } from 'tailwind-merge' import { Button } from '~/components/ui/button' import { Card } from '~/components/ui/card' import { CarouselSection } from '~/components/ui/carousel-section' import { NewsAuthor } from '~/components/ui/news-author' import { SocialShareButtons } from '~/components/ui/social-share' import { Tags } from '~/components/ui/tags' import { useNewsContext } from '~/contexts/news' import type { loader } from '~/routes/_news.detail.$slug' import type { TNews } from '~/types/news' export const NewsDetailPage = () => { const { setIsSuccessOpen } = useNewsContext() const loaderData = useRouteLoaderData( 'routes/_news.detail.$slug', ) const berita: TNews = { title: loaderData?.beritaCategory?.name || '', description: loaderData?.beritaCategory?.description || '', items: loaderData?.beritaData || Promise.resolve({ data: [] }), } const currentUrl = globalThis.location const { title, content, featured_image, author, live_at, tags } = loaderData?.newsDetailData || {} const { shouldSubscribe } = loaderData || {} const { text } = useReadingTime(content || '') return (

{title}

{title}
{content && htmlParse(content)}
{shouldSubscribe && ( )}

Share this post

) }