{"version":3,"file":"index-BoWS0EFo.js","sources":["../../src/scripts/modules/react-modules/FeaturedEventsModuleGraphQL/FeaturedEvents.tsx","../../src/scripts/modules/react-modules/FeaturedEventsModuleGraphQL/index.tsx"],"sourcesContent":["import React from 'react';\r\nimport { GraphQLClient } from 'graphql-request';\r\nimport { useQuery } from '@tanstack/react-query';\r\nimport {\r\n GetFeaturedEventsDocument,\r\n GetFeaturedEventsNoTagDocument,\r\n GetFeaturedEventsQuery,\r\n GetFeaturedEventsNoTagQuery\r\n} from '../../../../codegenGenerated/optigraphql/generated';\r\nimport Loader from '../Loader';\r\nimport { getEnvGQLUrl } from '../../../helpers';\r\nimport { getDateDayNumber, getDateThreeLetterMonth } from '../../../helpers/getDateLetter';\r\n\r\nexport type FeaturedEventsProps = {\r\n title: string;\r\n tag: string;\r\n};\r\n\r\nexport type Facet = {\r\n AllCategoriesIds: string;\r\n Categories: {\r\n Id: string;\r\n Title: string;\r\n }[];\r\n};\r\n\r\nexport type FeatureEvent = {\r\n EventTitle: string;\r\n Url: string;\r\n InitialDateEvent: string;\r\n EndDateEvent: string;\r\n EventTypeFacet: Facet;\r\n EventLocationFacet: Facet;\r\n EventAudienceFacet: Facet;\r\n};\r\n\r\nconst useGetFeaturedEvents = (endpoint: string, tag: string) => {\r\n const graphQLClient = new GraphQLClient(endpoint);\r\n const browsersDateISO = new Date().toISOString();\r\n\r\n const { isError, error, isFetching, data } = useQuery({\r\n queryKey: ['GetFeaturedEvents', { tag: tag }],\r\n queryFn: async () =>\r\n tag\r\n ? (graphQLClient.request(GetFeaturedEventsDocument, {\r\n tag: tag,\r\n date: browsersDateISO\r\n }) as GetFeaturedEventsQuery)\r\n : (graphQLClient.request(GetFeaturedEventsNoTagDocument, {\r\n date: browsersDateISO\r\n }) as GetFeaturedEventsNoTagQuery),\r\n refetchOnWindowFocus: false,\r\n networkMode: 'always'\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.EventDetailPage?.items ? data.EventDetailPage.items : []\r\n };\r\n};\r\n\r\nexport const FeaturedEvents = ({ tag }: FeaturedEventsProps) => {\r\n const { status, results } = useGetFeaturedEvents(getEnvGQLUrl(), tag);\r\n\r\n if (status === 'loading') {\r\n return ;\r\n }\r\n\r\n const getEventType = (item: FeatureEvent) => {\r\n let eventTypeName = '';\r\n\r\n if (!item) {\r\n return;\r\n }\r\n\r\n const { EventAudienceFacet, EventLocationFacet, EventTypeFacet } = item;\r\n\r\n if (\r\n EventLocationFacet &&\r\n EventLocationFacet.Categories[0] &&\r\n EventLocationFacet.Categories[0].Id === tag\r\n ) {\r\n eventTypeName = EventLocationFacet.Categories[0].Title;\r\n }\r\n\r\n if (\r\n EventAudienceFacet &&\r\n EventAudienceFacet.Categories[0] &&\r\n EventAudienceFacet.Categories[0].Id === tag\r\n ) {\r\n eventTypeName = EventAudienceFacet.Categories[0].Title;\r\n }\r\n\r\n if (\r\n (EventTypeFacet && EventTypeFacet.Categories[0] && EventTypeFacet.Categories[0].Id === tag) ||\r\n !tag\r\n ) {\r\n eventTypeName = EventTypeFacet.Categories[0].Title;\r\n }\r\n\r\n return eventTypeName;\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 {results.map(result => (\r\n \r\n
\r\n

\r\n \r\n {result?.EventTitle}\r\n \r\n
\r\n \r\n \r\n
\r\n

\r\n\r\n

\r\n {(result?.EventLocationFacet ||\r\n result?.EventAudienceFacet ||\r\n result?.EventLocationFacet) && (\r\n {getEventType(result as FeatureEvent)}\r\n )}\r\n

\r\n
\r\n {result?.InitialDateEvent && result?.EndDateEvent && (\r\n
\r\n {getDateThreeLetterMonth(result?.InitialDateEvent) ===\r\n getDateThreeLetterMonth(result?.EndDateEvent) ? (\r\n

\r\n {getDateThreeLetterMonth(result?.EndDateEvent)}\r\n

\r\n ) : (\r\n

\r\n {getDateThreeLetterMonth(result?.InitialDateEvent)}-\r\n {getDateThreeLetterMonth(result?.EndDateEvent)}\r\n

\r\n )}\r\n {result?.InitialDateEvent === result?.EndDateEvent ? (\r\n

\r\n {getDateDayNumber(result?.EndDateEvent)}\r\n

\r\n ) : (\r\n

\r\n {getDateDayNumber(result?.InitialDateEvent)}-\r\n {getDateDayNumber(result?.EndDateEvent)}\r\n

\r\n )}\r\n
\r\n )}\r\n {result?.InitialDateEvent && !result?.EndDateEvent && (\r\n
\r\n

\r\n {getDateThreeLetterMonth(result?.InitialDateEvent)}\r\n

\r\n

\r\n {getDateDayNumber(result?.InitialDateEvent)}\r\n

\r\n
\r\n )}\r\n \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 { FeaturedEvents, FeaturedEventsProps } from './FeaturedEvents';\r\nconst defaultQueryClient = new QueryClient();\r\n\r\nconst FeaturedEventsModule = ({ title, tag }: FeaturedEventsProps) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FeaturedEventsModule;\r\n"],"names":["useGetFeaturedEvents","endpoint","tag","graphQLClient","GraphQLClient","browsersDateISO","isError","error","isFetching","data","useQuery","GetFeaturedEventsDocument","GetFeaturedEventsNoTagDocument","_a","FeaturedEvents","status","results","getEnvGQLUrl","Loader","getEventType","item","eventTypeName","EventAudienceFacet","EventLocationFacet","EventTypeFacet","React","result","getDateThreeLetterMonth","getDateDayNumber","defaultQueryClient","QueryClient","FeaturedEventsModule","title","QueryClientProvider"],"mappings":"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"}