{"version":3,"file":"BlogList-CwBgqMpS.js","sources":["../../../src/components/pages/blog/BlogList.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport BlogCard from './BlogCard';\nimport Sections from '../../layout/Sections';\nimport useArticles from '../../../hooks/useArticles';\nimport { useRoute } from 'react-router5';\nimport Button from '../../Button';\nimport { explicitArticleOrder } from '../../../util.ts';\n\ninterface BlogListProps {\n ids?: number[],\n explicitOrder?: boolean,\n observer?: IntersectionObserver,\n}\n\nexport default function BlogList({ ids, explicitOrder = false }: BlogListProps): ReactElement {\n const { route } = useRoute();\n let articles = useArticles(ids);\n\n if (explicitOrder && ids) {\n articles = explicitArticleOrder(articles, ids);\n }\n\n let limit = 100;\n if (route.name === 'blog') {\n limit = parseInt(route.params.limit, 10) || 20;\n }\n\n const renderSearchResults = () => {\n if (route?.params?.search) {\n if(articles.length === 0) {\n return

No search results for {route.params.search}

\n } \n return

Search results for {route.params.search}

\n }\n if (articles.length === 0) {\n return

No articles found…

\n }\n return <>\n }\n\n return (\n \n { renderSearchResults() }\n {articles.slice(0, limit).map((article, index) => (\n \n ))}\n {limit < articles.length && (\n \n )}\n \n );\n}\n"],"names":["BlogList","ids","explicitOrder","route","useRoute","articles","useArticles","explicitArticleOrder","limit","name","parseInt","params","renderSearchResults","search","length","jsx","Fragment","jsxs","Sections","slice","map","article","index","BlogCard","summary","id","Button"],"mappings":"2ZAcA,SAAwBA,EAAS,CAAEC,IAAAA,EAAKC,cAAAA,EAAgB,EAAqB,EAAiB,CACtF,KAAA,CAAEC,MAAAA,GAAUC,EAAS,EACvBC,IAAAA,EAAWC,EAAYL,CAAG,EAE1BC,GAAiBD,IACRM,EAAAA,EAAqBF,EAAUJ,CAAG,GAG/C,IAAIO,EAAQ,IACRL,EAAMM,OAAS,SACjBD,EAAQE,SAASP,EAAMQ,OAAOH,MAAO,EAAE,GAAK,IAG9C,MAAMI,EAAsBA,IAAM,OAC5BT,OAAAA,EAAAA,GAAAA,YAAAA,EAAOQ,SAAPR,MAAAA,EAAeU,OACdR,EAASS,SAAW,SACb,IAAE,CAAA,SAAA,CAAA,yBAAuBC,EAAA,IAAA,SAAA,CAAQZ,SAAMQ,EAAAA,OAAOE,MAAO,CAAA,CAAA,EAAS,SAEhE,IAAE,CAAA,SAAA,CAAA,sBAAoBE,EAAA,IAAA,SAAA,CAAQZ,SAAMQ,EAAAA,OAAOE,MAAO,CAAA,CAAA,EAAS,EAEjER,EAASS,SAAW,EACfC,EAAA,IAAC,KAAE,SAAyB,oBAAA,CAAA,EAE5BA,EAAA,IAAAC,EAAA,SAAA,EAAA,CACX,EAGE,OAAAC,EAAA,KAACC,EAAS,CAAA,QAAQ,WACdN,SAAAA,CAAoBA,EAAA,EACrBP,EAASc,MAAM,EAAGX,CAAK,EAAEY,IAAI,CAACC,EAASC,UACrCC,EAA0B,CAAA,SAAUD,EAAO,QAAAD,EAAkB,QAASA,EAAQG,OAAhEH,EAAAA,EAAQI,EAAgE,CACxF,EACAjB,EAAQH,EAASS,QAChBC,MAACW,GAAO,UAAWvB,EAAMM,KAAM,YAAa,CAAED,MAAOA,EAAQ,EAAA,EAAK,SAElE,WAAA,CAAA,CAAA,EAEJ,CAEJ"}