{"version":3,"file":"index-9eMxl5ML.js","sources":["../../../../../src/routes/blog/[name]/index.tsx?pick=default&pick=$css"],"sourcesContent":["import { For, Show } from \"solid-js\";\nimport {\n A,\n cache,\n useSearchParams,\n type RouteDefinition,\n type RouteSectionProps,\n createAsync,\n} from \"@solidjs/router\";\nimport { Title } from \"@solidjs/meta\";\nimport { useAppState } from \"~/AppContext\";\nimport Spinner from \"~/components/Spinner\";\nimport { Pagination } from \"~/components/Pagination\";\nimport { fetchUserCache } from \"~/services\";\nimport * as repo from \"~/repos/article\";\n\nconst limit = 20;\nconst queryBlog = cache(async (q: string, page: number, name: string) => {\n \"use server\";\n const user = await fetchUserCache(name);\n if (!user) throw new Error(\"Blog not found\");\n return await repo.query(\n { query: q, authorId: user.id, published: true },\n { size: limit, page }\n );\n}, \"blog\");\n\nexport const route = {\n load({ location, params }) {\n queryBlog(location.query.q, +location.query.page || 1, params.name);\n },\n} satisfies RouteDefinition;\n\nexport default function DashArticles(props: RouteSectionProps) {\n const { t } = useAppState();\n const query = () => props.location.query.q;\n const page = () => +props.location.query.page || 1;\n const name = () => props.params.name;\n const data = createAsync(() => queryBlog(query(), page(), name()), {\n deferStream: true,\n });\n\n const [, setSearchParams] = useSearchParams();\n\n return (\n
\n {name()}\n \n \n
\n }\n >\n
\n \n {(article) => (\n \n

{article.title}

\n

{article.abstract}

\n \n )}\n
\n
\n data()!.totalPages}\n page={() => data()!.page}\n goPrev={() => {\n setSearchParams({ page: data()!.page - 1 });\n }}\n goNext={() => {\n setSearchParams({ page: data()!.page + 1 });\n }}\n />\n \n \n );\n}\n"],"names":["queryBlog","DashArticles","props","query","page","location","name","params","data","createAsync","deferStream","setSearchParams","useSearchParams","Title","children","when","fallback","_el$7","_$getNextElement","_tmpl$3","_$createComponent","Spinner","_el$2","_tmpl$","For","each","A","href","article","id","_el$8","_tmpl$4","abstract","_el$9","totalPage","totalPages","goPrev"],"mappings":"2vCAiCA,MAAAA,IAAwBC,aAAuC,aAAA,EAAA,MAAA,WACvDA,EAAAC,EAAA,CACAC,EAAQ,EACd,MAAMC,EAAOD,IAAOD,EAAMG,SAASF,MAAMC,EACnCE,EAAOA,IAAMJ,GAAMK,SAAWJ,MAAAC,MAAA,EAC9BI,EAAOC,IAAAA,EAAYF,OAAMP,KAC7BU,EAAWD,EAAE,IAAAT,EAAAG,EAAAA,EAAAC,EAAA,EAAAE,EAAA,CAAA,EAAA,CACbI,YAAA,EAAA,CAEF,GAGGC,CAAAA,CAA8C,EAAAC,qHAE5CC,EACC,CAAA,IAAAC,UAAA,CAAA,gCAGIC,MAAC,CAAA,OAAAP,EAAQ,CAAA,EAAA,IAAKQ,UAAe,CAAA,OAAA,IAAA,CAAAC,IAAAA,EAAAC,EAAAC,CAAA,EAAAF,OAAAA,EAAAA,EAAAG,EAC1BC,EACN,CAAA,MAAA,cAAA,CAAA,CAAA,EAAAJ,CAAAA,IAAA,EAAA,IAAAH,UAAA,CAAA,MAAA,EAAA,IAAA,CAAAQ,IAAAA,EAAAJ,EAAAK,CAAA,EAAAD,OAAAA,EAAAA,EAAAF,EAIGI,EAAS,CAAA,IAAAC,MAAA,CAAA,OAAAjB,QAEC,EAAAM,SACyDM,GAAAA,EAAAM,EAAA,CAAA,MAAA;AAAA,gFAAA,IAGxCC,MAAA,CAAA,MAAA,KAAAC,EAAAC,EAAA,EAAA,EAAA,IAAAf,UAAA,CAAA,MAAA,EAAA,IAAA,CAAAgB,IAAAA,EAAAZ,EAAAa,CAAA,EAAAD,OAAAA,EAAAA,QACXE,KAAAA,EAAAA,CAAAA,GAAAA,GAAAA,IAAAA,CAAAA,IAAAA,EAAAA,EAAAA,CAAAA,EAAAA,OAAAA,EAAAA,EAEfJ,IAAAA,EAAAI,QAAA,EAAAC,KAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,EAAAX,CAAAA,GAAAF,EAAAA,EAMHT,EAAAA,CAAAA,UAAgBuB,IAAA1B,EAAAA,EAAA2B,WAAA/B,KAAAA,IAAAI,EAAAA,EAAAJ,KAAAgC,OAAAA,IAAA,CAAgBhC,EAAAA,CAAWA,KAAAI,IAAAJ,KAAA,CAAA,CAE7C,CACEO,EAAAA,OAAAA,IAAe,CAAiBP,EAAAA,CAAWA,KAAAI,IAAAJ,KAAA,CAAA,CAC3C,CAEN"}