{ "version": 3, "sources": ["../../../../../../app/routes/collections/$slug/_index/route.tsx"], "sourcesContent": ["import { json } from '@remix-run/node';\nimport { QueryClient, dehydrate, useQueries } from '@tanstack/react-query';\nimport { remixApi } from '@tectonic/api-client';\nimport { ElemasonEntry, useElemasonContext } from '@tectonic/elemason';\nimport {\n collectionMetaFunction,\n getHttpClientFunctionArgs,\n getUrlSearchParams,\n} from '@tectonic/utils';\nimport { appConfig } from 'app/app.config';\nimport { elemasonConfig } from 'app/elemason.config';\nimport { getPageWithData, getRoot } from '../../../api/pages.server';\n\nimport type { DataFunctionArgs, MetaFunction } from '@remix-run/node';\n\nconst SLUG = 'collection';\n\nexport const meta: MetaFunction = (args) => {\n return collectionMetaFunction(args as any, appConfig.seoTemplates);\n};\n\nconst loader = async (args: DataFunctionArgs) => {\n const queryClient = new QueryClient();\n\n const routeParams = args.params;\n const searchParams = getUrlSearchParams(args.request.url);\n const httpClientFunctionArgs = getHttpClientFunctionArgs(args);\n\n const urls = {\n requestUrl: args.request.url,\n damUrl: process.env.REMIX_PUBLIC_DAM_URL,\n };\n\n await Promise.allSettled([\n queryClient.prefetchQuery({\n queryKey: ['root'],\n queryFn: () => getRoot(httpClientFunctionArgs),\n }),\n queryClient.prefetchQuery({\n queryKey: ['page', SLUG, routeParams, searchParams],\n queryFn: () => getPageWithData(httpClientFunctionArgs, SLUG),\n }),\n queryClient.prefetchQuery({\n queryKey: ['damUrl'],\n queryFn: () => process.env.REMIX_PUBLIC_DAM_URL,\n }),\n ]);\n\n return json({ dehydratedState: dehydrate(queryClient), urls });\n};\n\nconst Collection = () => {\n const { routeParams, searchParams } = useElemasonContext();\n\n const [{ data: root }, { data: page }] = useQueries({\n queries: [\n {\n enabled: false,\n queryKey: ['root'],\n queryFn: () => remixApi.getRoot(),\n },\n {\n enabled: false,\n queryFn: () => remixApi.getPage(SLUG),\n queryKey: ['page', SLUG, routeParams, searchParams],\n },\n ],\n });\n\n return (\n \n );\n};\n\nexport default Collection;\n\nexport { loader };\n"], "mappings": "0YAAA,IAAAA,EAAqB,SAWrB,IAAAC,EAAyC,SA2DrCC,EAAA,SAvDEC,EAAO,aAEAC,EAAqCC,GACzCC,EAAuBD,EAAaE,EAAU,YAAY,EAiCnE,IAAMC,EAAa,IAAM,CACvB,GAAM,CAAE,YAAAC,EAAa,aAAAC,CAAa,EAAIC,EAAmB,EAEnD,CAAC,CAAE,KAAMC,CAAK,EAAG,CAAE,KAAMC,CAAK,CAAC,EAAIC,EAAW,CAClD,QAAS,CACP,CACE,QAAS,GACT,SAAU,CAAC,MAAM,EACjB,QAAS,IAAMC,EAAS,QAAQ,CAClC,EACA,CACE,QAAS,GACT,QAAS,IAAMA,EAAS,QAAQC,CAAI,EACpC,SAAU,CAAC,OAAQA,EAAMP,EAAaC,CAAY,CACpD,CACF,CACF,CAAC,EAED,SACE,OAACO,EAAA,CACC,KAAML,EACN,KAAMC,GAAM,KACZ,KAAMA,GAAM,KACZ,OAAQK,GACH,GAAG,KAAK,UAAUT,CAAW,KAAK,KAAK,UAAUC,CAAY,GACpE,CAEJ,EAEOS,EAAQX", "names": ["import_node", "import_pages", "import_jsx_runtime", "SLUG", "meta", "args", "collectionMetaFunction", "appConfig", "Collection", "routeParams", "searchParams", "useElemasonContext", "root", "page", "useQueries", "remixApi_exports", "SLUG", "ElemasonEntry", "elemasonConfig", "route_default"] }