import { Suspense } from 'react' import { Await, useRouteLoaderData } from 'react-router' import { stripHtml } from 'string-strip-html' import { twMerge } from 'tailwind-merge' import { ErrorAwait } from '~/components/error/await' import { CarouselNextIcon } from '~/components/icons/carousel-next' import { CarouselPreviousIcon } from '~/components/icons/carousel-previous' import { ImageSkeletonIcon } from '~/components/icons/image-skeleton' import { Button } from '~/components/ui/button' import { useNewsContext } from '~/contexts/news' import type { loader } from '~/routes/_news' import type { TNews } from '~/types/news' import { getPremiumAttribute } from '~/utils/render' import { Tags } from './tags' export const CategorySection = (properties: TNews) => { const { setIsSuccessOpen } = useNewsContext() const loaderData = useRouteLoaderData('routes/_news') const { userData } = loaderData || {} const { title, description, items } = properties const nextSlide = () => { // patch data next page } const previousSlide = () => { // patch previous page } return (

{title}

{description}

(
Loading...
))} > } > {(value) => value.data.map( ( { featured_image, title, content, tags, slug, is_premium }, index, ) => (
{title}

{title}

{stripHtml(content).result}

), ) }
) }