{"version":3,"file":"component---src-v-3-templates-newsroom-all-publications-all-publications-page-tsx-0cb2a2e7ba169c49addc.js","mappings":"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","sources":["webpack://keolis.com/./src/v3/templates/newsroom/all-publications/all-publications-page.tsx"],"sourcesContent":["import React, { useState } from \"react\"\nimport { graphql } from \"gatsby\"\nimport { AllPublicationsPageQuery, DatoCmsSlugsConfiguration } from \"../../../../../graphql-types\"\nimport * as styles from \"../all-page.module.scss\"\nimport { useFormatLocale, useIsMobile, useSlugValue, useSortArticlesByMonth } from \"../../../hooks\"\nimport Layout from \"../../../components/layout/layout\"\nimport Breadcrumb from \"../../../components/breadcrumb/breadcrumb\"\nimport FilterBar from \"../../../components/tools/filter-bar/filter-bar\"\nimport Pagination from \"../../../components/pagination/pagination\"\nimport MediaCards from \"../../../components/media-cards/media-cards\"\nimport SEO from \"../../../components/seo/seo\"\nimport { HrefLangLinks } from \"../../../components/hrefLangLinks/hrefLangLinks\"\n\ntype RenderProps = {\n data: AllPublicationsPageQuery\n location: Location\n pageContext: {\n locale: string\n defaultLocale: string\n slugs: DatoCmsSlugsConfiguration\n }\n}\n\nconst AllPublicationsPage: React.FC<RenderProps> = ({ data, location, pageContext }) => {\n const isMobile = useIsMobile()\n const publications = useSortArticlesByMonth(data.allDatoCmsPublication.nodes, pageContext.locale)\n const currentRoute = `${useSlugValue(\n pageContext.slugs._allNewsroomPageSlugLocales,\n pageContext.locale\n )}/${useSlugValue(pageContext.slugs._allPublicationsPageSlugLocales, pageContext.locale)}`\n\n const [activeCategory, setActiveCategory] = useState(\"\")\n const [filteredPublications, setFilteredPublications] = useState(publications)\n\n return (\n <Layout\n pageContext={pageContext}\n location={location}\n header={data.datoCmsV3Header}\n footer={data.datoCmsFooter}\n subsidiaryLogo={data.datoCmsGlobalConfiguration.subsidiaryLogo}\n contactButton={data.datoCmsV3ContactButton}\n currentRoute={currentRoute}\n pageTemplate=\"all publications\"\n >\n <section className={styles.container}>\n {!isMobile && (\n <Breadcrumb\n title={data.datoCmsNewsroom.allPublicationsPageTitle}\n homeLabel={data.datoCmsGlobalConfiguration.homePageTitle}\n middlePages={[\n {\n id: \"newsroom\",\n title: data.datoCmsNewsroom.newsroomPageTitle,\n isInternalPage: true,\n internalLink: {\n __typename: \"DatoCmsGeneratedPage\",\n slug: useSlugValue(pageContext.slugs._allNewsroomPageSlugLocales, pageContext.locale),\n },\n },\n ]}\n />\n )}\n <div className={styles.titleBar}>\n <h1 className={styles.title}>{data.datoCmsNewsroom.allPublicationsPageTitle}</h1>\n <div className={styles.filterBar}>\n <FilterBar\n capsules={data.datoCmsPublicationCategoryList.categories.map(filter => ({\n label: filter.category,\n onClick: () => {\n if (activeCategory !== filter.category) {\n const filtered = useSortArticlesByMonth(\n data.allDatoCmsPublication.nodes.filter(p => p.category?.category === filter.category),\n pageContext.locale\n )\n setFilteredPublications(filtered)\n setActiveCategory(filter.category)\n } else {\n setFilteredPublications(publications)\n setActiveCategory(\"\")\n }\n },\n isActive: filter.category === activeCategory,\n }))}\n />\n </div>\n </div>\n\n <Pagination\n articles={publications}\n filteredArticles={filteredPublications}\n onSelect={setFilteredPublications}\n />\n\n {filteredPublications?.map((monthlyPublications, index) => (\n <MediaCards\n title={monthlyPublications.publicationDate}\n publications={monthlyPublications.articles}\n multiRow={!isMobile}\n key={`${monthlyPublications.publicationDate}-${index}`}\n />\n ))}\n </section>\n </Layout>\n )\n}\n\nexport const Head: React.FC<RenderProps> = ({ data, pageContext }) => (\n <>\n <SEO\n title={data.datoCmsNewsroom.newsroomPageTitle}\n description={data.datoCmsGlobalConfiguration.metaDescription}\n locale={useFormatLocale(pageContext.locale)}\n />\n {typeof window !== \"undefined\" && (\n <HrefLangLinks\n defaultDomain={window.location.origin}\n defaultLocale={pageContext.defaultLocale}\n slugs={[pageContext.slugs._allNewsroomPageSlugLocales]}\n />\n )}\n </>\n)\nexport const fragments = graphql`\n fragment NewsroomPublicationsFields on DatoCmsNewsroom {\n id\n newsroomPublicationsIsEnabled\n newsroomPublicationsTitle\n newsroomPublicationsText\n newsroomPublicationsIsHighlightedContent\n newsroomPublicationsHighlightedContent {\n ...PublicationFields\n }\n newsroomPublicationsButtonLabel\n newsroomPublicationsHighlightedContentCategory {\n ...PublicationCategoryFields\n }\n }\n fragment PublicationCategoryFields on DatoCmsPublicationCategory {\n id\n category\n }\n`\nexport const pageQuery = graphql`\n query AllPublicationsPage($locale: String!) {\n datoCmsGlobalConfiguration(locale: $locale) {\n metaDescription\n homePageTitle\n subsidiaryLogo {\n alt\n format\n originalId\n url\n }\n }\n\n datoCmsV3Header(locale: $locale) {\n ...V3HeaderFields\n }\n datoCmsFooter(locale: $locale) {\n ...FooterFields\n }\n datoCmsV3ContactButton(locale: $locale) {\n ...V3ContactButtonFields\n }\n allDatoCmsPublication(\n locale: $locale\n sort: { publicationDate: DESC }\n filter: { locales: { eq: $locale }, title: { ne: null } }\n ) {\n nodes {\n ... on DatoCmsPublication {\n ...PublicationMediaFields\n }\n }\n }\n datoCmsPublicationCategoryList(locale: $locale) {\n categories {\n category\n }\n }\n datoCmsNewsroom(locale: $locale) {\n newsroomPageTitle\n allPublicationsPageTitle\n ...NewsroomLiveFields\n }\n }\n`\n\nexport default AllPublicationsPage\n"],"names":["Head","_ref2","data","pageContext","React","SEO","title","datoCmsNewsroom","newsroomPageTitle","description","datoCmsGlobalConfiguration","metaDescription","locale","useFormatLocale","window","HrefLangLinks","defaultDomain","location","origin","defaultLocale","slugs","_allNewsroomPageSlugLocales","_ref","isMobile","useIsMobile","publications","useSortArticlesByMonth","allDatoCmsPublication","nodes","currentRoute","useSlugValue","_allPublicationsPageSlugLocales","_useState","useState","activeCategory","setActiveCategory","_useState2","filteredPublications","setFilteredPublications","Layout","header","datoCmsV3Header","footer","datoCmsFooter","subsidiaryLogo","contactButton","datoCmsV3ContactButton","pageTemplate","className","styles","Breadcrumb","allPublicationsPageTitle","homeLabel","homePageTitle","middlePages","id","isInternalPage","internalLink","__typename","slug","FilterBar","capsules","datoCmsPublicationCategoryList","categories","map","filter","label","category","onClick","filtered","p","_p$category","isActive","Pagination","articles","filteredArticles","onSelect","monthlyPublications","index","MediaCards","publicationDate","multiRow","key"],"sourceRoot":""}