import { useRouteLoaderData } from 'react-router' import { stripHtml } from 'string-strip-html' import { twMerge } from 'tailwind-merge' import type { TNewsResponse } from '~/apis/common/get-news' import { CarouselNextIcon } from '~/components/icons/carousel-next' import { CarouselPreviousIcon } from '~/components/icons/carousel-previous' import { Button } from '~/components/ui/button' import { useNewsContext } from '~/contexts/news' import type { loader } from '~/routes/_news' import { getPremiumAttribute } from '~/utils/render' type TNews = { title: string description: string items: TNewsResponse[] } 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}

{items.map( ( { featured_image, title, content, tags, slug, is_premium }, index, ) => (
{title}
{tags?.map((item) => ( {item.name} ))} {is_premium && ( Premium Content )}

{title}

{stripHtml(content).result}

), )}
) }