--- // Full Astro Component Syntax: // https://docs.astro.build/core-concepts/astro-components/ import { DoesItAPI } from '~/helpers/api/client.js' import { getPathPartsFromAstroRequest } from '~/helpers/url.js' import { catchRedirectResponse, applyResponseDefaults } from '~/helpers/astro/request.js' import { categories, getKindToCategorySlug, getCategoryKindName, makeCategoryFilterFromCategorySlug } from '~/helpers/categories.js' import Layout from '../../layouts/default.astro' import Search from '~/components/search-stork.vue' import AdInline from '~/components/ad-inline.vue' // Get type and slug from the request path // so that we don't have extra parts for // urls like /:type/:slug/benchmarks const { pathname, pathSlug, subSlug = 1 } = getPathPartsFromAstroRequest( Astro.request ) const redirectResponse = await catchRedirectResponse( Astro ) if ( redirectResponse !== null ) { return redirectResponse } applyResponseDefaults( Astro ) // Try the pathSlug against categories // so we can load from category slugs const kindName = getCategoryKindName( pathSlug ) ? getCategoryKindName( pathSlug ) : pathSlug const rawKindPage = await DoesItAPI.kind( kindName )( subSlug ).get() // Clean up unused kind data const kindPage = { ...rawKindPage, items: rawKindPage.items.map( item => ({ ...item, bundles: undefined, }) ) } let pageLabel = 'Mac Apps' const baseFilters = [] const categorySlug = getKindToCategorySlug( kindName ) // If we have a category slug, add a filter if ( !!categorySlug ) { const category = categories[ categorySlug ] baseFilters.push( makeCategoryFilterFromCategorySlug( categorySlug ) ) pageLabel = category?.pluralLabel || category.label } const adName = (() => { // if ( kindName === 'game' ) return 'new-world-1' if ( kindName === 'developer-tools' ) return 'jotform-for-developers-1' // Video and Motion Tools if ( kindName === 'video-and-motion-tools' ) return 'wondershare-arm-1' return 'default' })() ---

{ pageLabel } that are reported to support Apple Silicon

Supported apps include { kindPage.summary.sampleNamesShort }.