{"version":3,"file":"component---src-templates-project-page-tsx-ce8fc1d079e2083bd761.js","mappings":"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","sources":["webpack://open-law-org-au-client/./src/containers/layout.tsx","webpack://open-law-org-au-client/./src/components/projects/ProjectPageHero.tsx","webpack://open-law-org-au-client/./src/components/projects/ProjectInfoPage.tsx","webpack://open-law-org-au-client/./src/templates/project-page.tsx","webpack://open-law-org-au-client/./src/utilities/project-colour-styles.tsx"],"sourcesContent":["import {graphql, StaticQuery} from 'gatsby'\nimport React, {useState} from 'react'\nimport Layout from '../components/layout'\n\nconst query = graphql`\n query SiteTitleQuery {\n site: sanitySiteSettings(_id: { regex: \"/(drafts.|)siteSettings/\" }) {\n title\n }\n }\n`\n\nfunction LayoutContainer(props) {\n const [showNav, setShowNav] = useState(true)\n\n function handleShowNav() {\n setShowNav(true)\n }\n\n function handleHideNav() {\n setShowNav(false)\n }\n\n const {textWhite = false} = props\n\n return (\n {\n if (!data.site) {\n throw new Error(\n 'Missing \"Site settings\". Open the Studio at http://localhost:3333 and some content in \"Site settings\"'\n )\n }\n return (\n \n )\n }}\n />\n )\n}\n\nexport default LayoutContainer\n","import React, {FunctionComponent} from 'react'\nimport {setProjectColourDarkButtonStyles} from '../../utilities/project-colour-styles'\nimport {ProjectInfo} from './ProjectInfoPage'\nimport {SanityLinkHelper} from '@open-law/open-law-shared'\n\ninterface ProjectPageHeroProps {\n projectInfo: ProjectInfo\n}\n\nconst ProjectPageHero: FunctionComponent = (props) => {\n\n const {projectInfo} = props\n const {\n projectColour,\n projectTagline,\n title,\n projectImage,\n ctaButtonOne,\n ctaButtonTwo\n } = projectInfo\n\n return projectInfo && (\n
\n
\n \n
\n
\n \n \n \n
\n {\n projectImage &&\n \"\"/\n }\n
\n \n )\n\n\n}\n\n\nexport default ProjectPageHero\n","import {\n PortableTextRenderer,\n ProjectColours,\n SanityLinkHelper\n} from '@open-law/open-law-shared'\nimport React, { FunctionComponent } from 'react'\nimport { setProjectColourDarkButtonStyles } from '../../utilities/project-colour-styles'\nimport ProjectPageHero from './ProjectPageHero'\n\n\ntype ProjectCtaButton = { buttonText: string, url: string }\n\nexport type ProjectInfo = {\n id: string\n _rawProjectSummary: unknown\n title: string\n shortTitle: string\n projectTagline: string\n ctaButtonOne: ProjectCtaButton\n ctaButtonTwo: ProjectCtaButton\n projectLead: {\n name: string\n image: unknown\n }\n projectImage: { asset: { url: string } }\n slug: { current: string }\n projectHeadlines: string[]\n projectBanner: any\n projectLogo: any\n projectColour: ProjectColours\n}\n\ninterface ProjectInfoPageProps {\n projectInfo: ProjectInfo\n relatedBlogs: any[]\n}\n\nconst ProjectInfoPage: FunctionComponent = (props) => {\n const {projectInfo, relatedBlogs} = props\n const {ctaButtonOne, ctaButtonTwo, projectColour} = projectInfo\n\n console.log('Project info page props: ', props)\n return (\n
\n {\n projectInfo ? : null\n }\n
\n
\n
\n
\n \n
\n {\n ctaButtonOne?.buttonText ? (\n \n \n {ctaButtonOne.buttonText}\n \n
\n ) : null\n }\n {\n ctaButtonTwo?.buttonText ? (\n \n ) : null\n }\n
\n
\n
\n
\n \n
\n )\n}\n\nexport default ProjectInfoPage\n","import { graphql } from 'gatsby'\nimport React, { FunctionComponent } from 'react'\nimport ProjectInfoPage, { ProjectInfo } from '../components/projects/ProjectInfoPage'\nimport Layout from '../containers/layout'\n\nexport const projectPageQuery = graphql`\n query ProjectPageTemplateQuery($id: String!, $title: String!) {\n # menuItems: sanityNavigationMenu(id: {eq: \"-653097ce-bd1a-5011-b67f-57ceab2438da\"}){\n # _rawItems(resolveReferences: {maxDepth: 10})\n # }\n projectInfo: sanityProject(id: { eq: $id }) {\n id\n _rawProjectSummary(resolveReferences: {maxDepth: 10})\n title\n ctaButtonOne {\n buttonText\n url {\n external\n internal {\n ... on SanityPost {\n id\n slug {\n current\n }\n }\n ... on SanityRoute {\n slug {\n current\n }\n }\n }\n }\n }\n ctaButtonTwo {\n buttonText\n url {\n external\n internal {\n ... on SanityPost {\n id\n slug {\n current\n }\n }\n ... on SanityRoute {\n slug {\n current\n }\n }\n }\n }\n }\n shortTitle\n projectImage {\n ...SanityImage\n }\n projectBanner {\n ...SanityImage\n }\n projectLogo {\n ...SanityImage\n }\n slug {\n current\n }\n projectTagline\n projectHeadlines\n projectLead {\n name\n image {\n ...SanityImage\n }\n slug {\n current\n }\n }\n projectColour\n }\n relatedBlogs: allSanityPost(\n filter: {\n categories: {elemMatch: {title: {eq: $title}}}\n },\n sort: {fields: publishedAt, order: DESC},\n limit: 5\n ) {\n edges {\n node {\n title\n slug {\n current\n }\n mainImage {\n ...SanityImage\n }\n authors {\n name\n }\n publishedAt(formatString: \"DD-MMM-YYYY\")\n }\n }\n }\n }\n`\n\ninterface ProjectPageTemplateProps {\n data: { menuItems: unknown, projectInfo: ProjectInfo, relatedBlogs: any[] }\n errors: unknown\n}\n\nconst ProjectPageTemplate: FunctionComponent = (props) => {\n const {data, errors} = props\n return (\n \n {\n data.projectInfo &&\n \n }\n \n )\n}\n\nexport default ProjectPageTemplate\n","import { ProjectColours } from '@open-law/open-law-shared'\n\nexport const setProjectColourStyles = (colour: ProjectColours, background?: boolean, includeHover?: boolean) => {\n switch (colour) {\n case 'blue':\n return `${background ? 'bg-blue-500 text-white' : 'text-blue-500'} ${includeHover ? 'hover:text-white hover:bg-blue-700' : ''}`\n case 'red':\n return `${background ? 'bg-red-500 text-white' : 'text-red-500'} ${includeHover ? 'hover:text-white hover:bg-red-700' : ''}`\n case 'green':\n return `${background ? 'bg-green-500 text-white' : 'text-green-500'} ${includeHover ? 'hover:text-white hover:bg-green-700' : ''}`\n case 'purple':\n return `${background ? 'bg-purple-600 text-white' : 'text-purple-500'} ${includeHover ? 'hover:text-white hover:bg-purple-700' : ''}`\n case 'black':\n return `${background ? 'bg-black text-white' : 'text-grey-500'} ${includeHover ? 'hover:text-white hover:bg-gray-700' : ''}`\n case 'gray':\n return `${background ? 'bg-gray-800 text-white' : 'text-grey-500'} ${includeHover ? 'hover:text-white hover:bg-gray-700' : ''}`\n case 'dark-green':\n return `${background ? 'bg-yellow-500 text-black' : 'text-heading-green'} ${includeHover ? 'hover:text-white hover:bg-yellow-700' : ''}`\n case 'pink':\n return `${background ? 'bg-pink-500 text-black' : 'text-pink-500'} ${includeHover ? 'hover:text-white hover:bg-pink-700' : ''}`\n default:\n return `${background ? 'bg-black text-white' : 'text-grey-500'} ${includeHover ? 'hover:text-white hover:bg-blue-700' : ''}`\n }\n}\n\nexport const setProjectColourDarkButtonStyles = (colour: ProjectColours) => {\n switch (colour) {\n case 'blue':\n return 'bg-blue-400 hover:bg-blue-800 text-white'\n case 'green':\n return 'bg-green-400 hover:bg-green-800 text-white'\n case 'gray':\n return 'bg-gray-400 hover:bg-gray-800 text-white'\n case 'dark-green':\n return 'bg-heading-green hover:bg-heading-green text-white'\n case 'red':\n return 'bg-red-400 hover:bg-red-800 text-white'\n case 'purple':\n return 'bg-purple-400 hover:bg-purple-800 text-white'\n case 'indigo':\n return 'bg-indigo-400 hover:bg-indigo-800 text-white'\n case 'pink':\n return 'bg-pink-400 hover:bg-pink-800 text-white'\n case 'black':\n return 'bg-black hover:bg-gray-600 text-white'\n\n }\n}\n\nexport const setProjectColourLightButtonStyles = (colour: ProjectColours) => {\n switch (colour) {\n case 'blue':\n return 'bg-blue-800 hover:bg-blue-400 text-white'\n break\n case 'green':\n return 'bg-green-800 hover:bg-green-400 text-white'\n case 'gray':\n return 'bg-gray-800 hover:bg-gray-400 text-white'\n case 'dark-green':\n return 'bg-heading-green hover:bg-yellow-400 text-white'\n case 'red':\n return 'bg-red-800 hover:bg-red-400 text-white'\n case 'purple':\n return 'bg-purple-800 hover:bg-purple-400 text-white'\n case 'indigo':\n return 'bg-indigo-800 hover:bg-indigo-400 text-white'\n case 'pink':\n return 'bg-pink-800 hover:bg-pink-400 text-white'\n case 'black':\n return 'bg-black hover:bg-gray-600 text-white'\n\n }\n}\n\nexport const getBackgroundColour = (colour: ProjectColours, dark: boolean) => {\n switch (colour) {\n case 'blue': {\n return dark ? 'bg-blue-900' : 'bg-blue-50'\n }\n case 'green': {\n return dark ? 'bg-green-900' : 'bg-green-50'\n }\n case 'gray': {\n return dark ? 'bg-gray-900' : 'bg-gray-50'\n }\n case 'dark-green': {\n return dark ? 'bg-heading-green' : 'bg-heading-green'\n }\n case 'red': {\n return dark ? 'bg-red-900' : 'bg-red-50'\n }\n case 'purple': {\n return dark ? 'bg-purple-900' : 'bg-purple-50'\n }\n case 'indigo': {\n return dark ? 'bg-indigo-900' : 'bg-indigo-50'\n }\n case 'pink': {\n return dark ? 'bg-pink-900' : 'bg-pink-50'\n }\n case 'black': {\n return dark ? 'bg-black' : 'bg-gray-50'\n }\n default: {\n return dark ? 'bg-blue-900' : 'bg-blue-50'\n }\n }\n}\n\nexport const getBorderStyle = (colour: ProjectColours, dark: boolean) => {\n switch (colour) {\n case 'blue': {\n return dark ? 'border-blue-900' : 'border-blue-50'\n }\n case 'green': {\n return dark ? 'border-green-900' : 'border-green-50'\n }\n case 'gray': {\n return dark ? 'border-gray-900' : 'border-gray-50'\n }\n case 'dark-green': {\n return dark ? 'border-heading-green' : 'border-yellow-50'\n }\n case 'red': {\n return dark ? 'border-red-900' : 'border-red-50'\n }\n case 'purple': {\n return dark ? 'border-purple-900' : 'border-purple-50'\n }\n case 'indigo': {\n return dark ? 'border-indigo-900' : 'border-indigo-50'\n }\n case 'pink': {\n return dark ? 'border-pink-900' : 'border-pink-50'\n }\n case 'black': {\n return dark ? 'border-black' : 'border-gray-50'\n }\n default: {\n return dark ? 'border-blue-900' : 'border-blue-50'\n }\n }\n}\n"],"names":["props","useState","showNav","setShowNav","handleShowNav","handleHideNav","textWhite","query","render","data","site","Error","siteTitle","title","onHideNav","onShowNav","projectInfo","projectColour","projectTagline","projectImage","ctaButtonOne","ctaButtonTwo","className","fill","viewBox","preserveAspectRatio","points","buttonText","setProjectColourDarkButtonStyles","href","SanityLinkHelper","url","src","asset","alt","relatedBlogs","console","log","PortableTextRenderer","blocks","_rawProjectSummary","errors","navMenuItems","menuItems","colour","getBackgroundColour","dark","getBorderStyle"],"sourceRoot":""}