import { cache } from 'react'; import { getProductCategories } from '@lib/data'; import { ServiceCategory } from '../../_components/service-categories'; async function ttoServicesLoader() { const response = await getProductCategories({ fields: '*products, is_active, metadata', }); const heroCategories = response.product_categories?.filter( ({ parent_category, is_active, metadata }) => parent_category?.handle === 'tto-categories' && is_active && metadata?.isHero, ); const ttoCategories = response.product_categories?.filter( ({ parent_category, is_active, metadata }) => parent_category?.handle === 'tto-categories' && is_active && !metadata?.isHero, ); return { heroCategories: heroCategories.map( ({ name, handle, metadata, description }) => ({ name, handle, color: typeof metadata?.color === 'string' ? metadata.color : 'primary', description, }), ) ?? [], ttoCategories: ttoCategories.map( ({ name, handle, metadata, description }) => ({ name, handle, color: typeof metadata?.color === 'string' ? metadata.color : 'primary', description, }), ) ?? [], }; } export const loadTtoServices = cache(ttoServicesLoader);