{"version":3,"file":"index-rce2-lOD.js","sources":["../../src/scripts/modules/react-modules/LatestNewsGraphQL/LatestNews.tsx","../../src/scripts/modules/react-modules/LatestNewsGraphQL/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { GraphQLClient } from 'graphql-request';\r\nimport { useQuery } from '@tanstack/react-query';\r\nimport {\r\n  GetLatestNewsByTagDocument,\r\n  GetLatestNewsByTagQuery\r\n} from '../../../../codegenGenerated/optigraphql/generated';\r\nimport Loader from '../Loader';\r\nimport { getEnvGQLUrl } from '../../../helpers';\r\n\r\nconst useGetLatestNews = (endpoint: string, tag: string) => {\r\n  const graphQLClient = new GraphQLClient(endpoint);\r\n\r\n  const { isError, error, isFetching, data } = useQuery({\r\n    queryKey: ['GetLatestNewsByTag', { tag: tag }],\r\n    queryFn: async () =>\r\n      graphQLClient.request(GetLatestNewsByTagDocument, {\r\n        tag: tag\r\n      }) as GetLatestNewsByTagQuery,\r\n    refetchOnWindowFocus: false\r\n  });\r\n\r\n  return {\r\n    status: isError ? 'error' : isFetching ? 'loading' : 'success',\r\n    error: error as Error,\r\n    results: data && data.ArticleDetailPage?.items ? data.ArticleDetailPage.items : []\r\n  };\r\n};\r\n\r\nexport type LatestNewsProps = {\r\n  title: string;\r\n  tag: string;\r\n  imgFallback?: string;\r\n};\r\n\r\nexport const LatestNews = ({ title, tag, imgFallback }: LatestNewsProps) => {\r\n  const { status, results } = useGetLatestNews(getEnvGQLUrl(), tag);\r\n\r\n  if (status === 'loading') {\r\n    return <Loader />;\r\n  }\r\n\r\n  return (\r\n    <>\r\n      {status === 'error' && <></>}\r\n      {results.length === 0 && <></>}\r\n      {results.length > 0 && (\r\n        <>\r\n          <h4 className=\"resources-menu__news-title\">{title}</h4>\r\n          {results.map(result => (\r\n            <a\r\n              className=\"resources-menu__news-card\"\r\n              href={(result!.OverrideCardLink?.Href as string) ?? result!.Url}\r\n              target={(result!.OverrideCardLink?.Target as string) ?? ''}\r\n              title={(result!.OverrideCardLink?.Title as string) ?? result!.Title}\r\n              key={result?._id}\r\n            >\r\n              <div className=\"picture\">\r\n                <img\r\n                  className=\"resources-menu__news-card-image\"\r\n                  src={result?.BlogAndNewsImage?.Url ?? imgFallback}\r\n                  alt=\"about-card-image\"\r\n                  loading=\"lazy\"\r\n                  width=\"208\"\r\n                  height=\"150\"\r\n                />\r\n              </div>\r\n              <div className=\"resources-menu__news-content\">\r\n                {result?.Title && (\r\n                  <h5 className=\"resources-menu__news-content-title\">\r\n                    {result?.Title}\r\n                    <div className=\"btn-decorator\">\r\n                      <span className=\"btn-decorator-inner\"></span>\r\n                      <span className=\"btn-decorator-outer\"></span>\r\n                    </div>\r\n                  </h5>\r\n                )}\r\n                <p className=\"resources-menu__news-copy\">{result?.FeaturedDescription}</p>\r\n              </div>\r\n            </a>\r\n          ))}\r\n        </>\r\n      )}\r\n    </>\r\n  );\r\n};\r\n","import React from 'react';\r\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\r\nimport { LatestNews, LatestNewsProps } from './LatestNews';\r\nconst defaultQueryClient = new QueryClient();\r\n\r\nconst LatesNewsGraphQL = ({ title, tag, imgFallback }: LatestNewsProps) => {\r\n  return (\r\n    <QueryClientProvider client={defaultQueryClient}>\r\n      <LatestNews title={title} tag={tag} imgFallback={imgFallback} />\r\n    </QueryClientProvider>\r\n  );\r\n};\r\n\r\nexport default LatesNewsGraphQL;\r\n"],"names":["useGetLatestNews","endpoint","tag","graphQLClient","GraphQLClient","isError","error","isFetching","data","useQuery","GetLatestNewsByTagDocument","_a","LatestNews","title","imgFallback","status","results","getEnvGQLUrl","Loader","React","result","_b","_c","_d","defaultQueryClient","QueryClient","LatesNewsGraphQL","QueryClientProvider"],"mappings":"uNAUA,MAAMA,EAAmB,CAACC,EAAkBC,IAAgB,OACpD,MAAAC,EAAgB,IAAIC,EAAcH,CAAQ,EAE1C,CAAE,QAAAI,EAAS,MAAAC,EAAO,WAAAC,EAAY,KAAAC,CAAA,EAASC,EAAS,CACpD,SAAU,CAAC,qBAAsB,CAAE,IAAAP,EAAU,EAC7C,QAAS,SACPC,EAAc,QAAQO,EAA4B,CAChD,IAAAR,CAAA,CACD,EACH,qBAAsB,EAAA,CACvB,EAEM,MAAA,CACL,OAAQG,EAAU,QAAUE,EAAa,UAAY,UACrD,MAAAD,EACA,QAASE,KAAQG,EAAAH,EAAK,oBAAL,MAAAG,EAAwB,OAAQH,EAAK,kBAAkB,MAAQ,CAAA,CAClF,CACF,EAQaI,EAAa,CAAC,CAAE,MAAAC,EAAO,IAAAX,EAAK,YAAAY,KAAmC,CAC1E,KAAM,CAAE,OAAAC,EAAQ,QAAAC,CAAA,EAAYhB,EAAiBiB,IAAgBf,CAAG,EAEhE,OAAIa,IAAW,0BACLG,EAAO,IAAA,EAIfC,EAAA,cAAAA,EAAA,SAAA,KACGJ,IAAW,SAAWI,EAAA,cAAAA,EAAA,SAAA,IAAE,EACxBH,EAAQ,SAAW,GAAKG,EAAA,cAAAA,EAAA,SAAA,IAAE,EAC1BH,EAAQ,OAAS,GAChBG,EAAA,cAAAA,EAAA,SAAA,qBACG,KAAG,CAAA,UAAU,8BAA8BN,CAAM,EACjDG,EAAQ,IACPI,GAAA,aAAA,OAAAD,EAAA,cAAC,IAAA,CACC,UAAU,4BACV,OAAOR,EAAAS,EAAQ,mBAAR,YAAAT,EAA0B,OAAmBS,EAAQ,IAC5D,SAASC,EAAAD,EAAQ,mBAAR,YAAAC,EAA0B,SAAqB,GACxD,QAAQC,EAAAF,EAAQ,mBAAR,YAAAE,EAA0B,QAAoBF,EAAQ,MAC9D,IAAKA,GAAA,YAAAA,EAAQ,GAAA,EAEbD,EAAA,cAAC,MAAI,CAAA,UAAU,SACb,EAAAA,EAAA,cAAC,MAAA,CACC,UAAU,kCACV,MAAKI,EAAAH,GAAA,YAAAA,EAAQ,mBAAR,YAAAG,EAA0B,MAAOT,EACtC,IAAI,mBACJ,QAAQ,OACR,MAAM,MACN,OAAO,KAAA,CAAA,CAEX,EACCK,EAAA,cAAA,MAAA,CAAI,UAAU,8BAAA,GACZC,GAAA,YAAAA,EAAQ,QACPD,EAAA,cAAC,KAAG,CAAA,UAAU,sCACXC,GAAA,YAAAA,EAAQ,MACRD,EAAA,cAAA,MAAA,CAAI,UAAU,eACb,EAAAA,EAAA,cAAC,OAAK,CAAA,UAAU,sBAAsB,EACrCA,EAAA,cAAA,OAAA,CAAK,UAAU,qBAAsB,CAAA,CACxC,CACF,kBAED,IAAE,CAAA,UAAU,2BAA6B,EAAAC,GAAA,YAAAA,EAAQ,mBAAoB,CACxE,CAEH,EAAA,CACH,CAEJ,CAEJ,EClFMI,EAAqB,IAAIC,EAEzBC,EAAmB,CAAC,CAAE,MAAAb,EAAO,IAAAX,EAAK,YAAAY,KAEpCK,EAAA,cAACQ,GAAoB,OAAQH,CAAA,kBAC1BZ,EAAW,CAAA,MAAAC,EAAc,IAAAX,EAAU,YAAAY,CAA0B,CAAA,CAChE"}