--- import { type Service } from "../../lib/types"; import ServiceCard from "../common/ServiceCard.astro"; import ScrollReveal from "../common/ScrollReveal.astro"; /** * CategorySection component displays a collapsible section of services grouped by category * @component * @example * ```astro * * ``` */ interface Props { /** * The category name to display as the section title */ category: string; /** * Array of service objects to display in this category */ apps: Service[]; } const { category, apps } = Astro.props; // Pre-compute values during server-side rendering const categoryId = `category-${category.toLowerCase().replace(/\s+/g, '-')}`; const categoryLower = category.toLowerCase(); ---
{apps.length > 0 ? ( apps.map(app => { const appName = app.name.toLowerCase(); const appTags = app.tags ? app.tags.join(' ').toLowerCase() : ''; return (
); }) ) : (

Coming soon...

)}