{"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
{article.abstract}
\n \n )}\n