{"version":3,"file":"component---src-pages-privacy-policy-tsx-e039a2da37a381af6a02.js","mappings":"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","sources":["webpack://user-website/./src/Locales.ts","webpack://user-website/./src/pages/privacy-policy.tsx","webpack://user-website/./src/components/common/table.tsx","webpack://user-website/./src/utils/format-body-raw.tsx"],"sourcesContent":["export const getPageTitle = (title: string) => `${title} | Joko`;\n\nexport interface LocaleTexts {\n language: string;\n home: {\n pageTitle: string;\n downloadButtons: {\n appStore: string;\n browserExtension: string;\n };\n footer: {\n links: {\n legals: string;\n tos: string;\n privacyPolicy: string;\n blog: string;\n jobs: string;\n help: string;\n press: string;\n webApp: string;\n };\n };\n outdatedBrowserAlert: {\n title: string;\n subtitle: string;\n };\n introImageAltText: string;\n presentationImagesAltText: string;\n };\n shopOnDesktop: {\n pageTitle: string;\n adBlockerDetected: {\n title: string;\n subtitle: string;\n };\n redirection: {\n title: string;\n };\n };\n oauth2: {\n pageTitle: string;\n success: {\n title: string;\n subtitle: string;\n };\n error: {\n title: string;\n };\n };\n emailConfirmation: {\n pageTitle: string;\n title: string;\n subtitle: string;\n };\n pageNotFound: {\n pageTitle: string;\n text: string;\n goBackLink: string;\n };\n uninstallationForm: {\n pageTitle: string;\n form: {\n preTitle: string;\n title: string;\n indication: string;\n otherReason: string;\n otherReasonPlaceholder: string;\n submitButtonLabel: string;\n formCheckboxValues: {\n extensionAppearsTooOften: string;\n notEnoughBrands: string;\n purchasesNotTakenIntoAccount: string;\n extensionBugs: string;\n noPurchaseOnThisComputer: string;\n notEnoughCashback: string;\n cashbackNotFastEnough: string;\n useDifferentCashbackExtension: string;\n doNotUnderstandTheIdeaOfCashback: string;\n privacyReasons: string;\n };\n };\n thanks: {\n title: string;\n indication: string;\n };\n };\n link: {\n openAppButton: string;\n goBackButton: string;\n };\n}\n","import * as React from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { graphql } from \"gatsby\";\nimport { useIntl } from \"gatsby-plugin-intl\";\nimport styled, { ThemeProvider } from \"styled-components\";\nimport { Reset } from \"styled-reset\";\n\nimport { ENGLISH_HOMEPAGE, FRENCH_HOMEPAGE } from \".\";\nimport { getPageTitle } from \"../Locales\";\nimport { theme } from \"../theme/theme\";\nimport FontFaces from \"../theme/fonts/font-faces\";\nimport GlobalStyle from \"../theme/global\";\nimport { Header } from \"../components/header\";\nimport { Footer, StyledLink } from \"../components/footer\";\nimport { HalfCenteredRow } from \"../components/common/layout\";\nimport { formatBodyRaw } from \"../utils/format-body-raw\";\nimport { ContentfulPage, ContentfulTable } from \"../utils/contentful\";\n\nconst PrivacyPolicyPage = ({ data }) => {\n const [privacyPolicyPage, privacyPolicyTables] =\n formatPrivacyPolicyQueryResult(data);\n const intl = useIntl();\n return (\n \n \n \n
\n \n {getPageTitle(privacyPolicyPage.title)}\n \n \n \n \n \n \n \n \n
\n \n {intl.locale === \"en\" ? (\n \n \n {`View ${intl.formatMessage({\n id: \"home.footer.links.privacyPolicy\",\n })} (US)`}\n \n \n ) : null}\n \n {privacyPolicyPage.title}\n {formatBodyRaw(privacyPolicyPage.body.raw, privacyPolicyTables)}\n \n \n
\n
\n );\n};\n\nexport default PrivacyPolicyPage;\n\nexport const privacyPolicyQuery = graphql`\n query PrivacyPolicyQuery($language: String) {\n allContentfulPage(\n filter: {\n contentful_id: { in: [\"3csjPN69Ptp8y95o0iKD07\"] }\n node_locale: { eq: $language }\n }\n ) {\n nodes {\n node_locale\n title\n body {\n raw\n }\n }\n }\n allContentfulTable(\n filter: {\n contentful_id: {\n in: [\n \"7B6bog5wL83YDFWC6XjXDY\"\n \"2EGhj8583KkQH0HkXkRO7H\"\n \"4bCq5zjRGZN5P20KsmjZYh\"\n \"3FYIrlt0P9tvOispfK8dJi\"\n \"5llB4Ef2z0NWDqhxb6SNAA\"\n \"P5d3y1jodXSnPIeZGIwGS\"\n \"2UpmQG7aZ3I7UuPfa0Z5Sb\"\n \"5swFpvxtspadml1sXEmGHK\"\n \"6b4FsjEC7StW0g2tj79Wjs\"\n ]\n }\n node_locale: { eq: $language }\n }\n ) {\n nodes {\n contentful_id\n childContentfulTableContentJsonNode {\n wide\n tbody {\n tr {\n body\n nodeType\n rowspan\n }\n }\n thead {\n tr {\n body\n nodeType\n }\n }\n }\n }\n }\n }\n`;\n\ninterface PrivacyPolicyQueryResponse {\n allContentfulPage: {\n nodes: ContentfulPage[];\n };\n allContentfulTable: {\n nodes: ContentfulTable[];\n };\n}\n\nfunction formatPrivacyPolicyQueryResult(\n queryResult: PrivacyPolicyQueryResponse\n): [ContentfulPage, ContentfulTable[]] {\n const privacyPolicyPage: ContentfulPage =\n queryResult.allContentfulPage.nodes[0];\n const privacyPolicyTables: ContentfulTable[] =\n queryResult.allContentfulTable.nodes;\n return [privacyPolicyPage, privacyPolicyTables];\n}\n\nconst Wrapper = styled.section`\n min-height: 100vh;\n box-sizing: border-box;\n padding: 6.25em 0;\n`;\n\nconst Heading = styled.h1`\n text-align: center;\n margin-bottom: 1em;\n`;\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nimport { theme } from \"../../theme/theme\";\nimport {\n ContentfulTable,\n ContentfulTableRow,\n ContentfulTableCell,\n} from \"../../utils/contentful\";\nimport { ConditionalWrapper } from \"./conditional-wrapper\";\nimport { HalfCenteredRow } from \"./layout\";\n\nconst doubleHalfMediaQuery: string = \"@media screen and (min-width: 68.75em)\"; //110px\n\nexport const TableWrapper = styled.div`\n overflow: auto;\n\n &:not(:first-child) {\n margin-top: 2em;\n }\n\n ${doubleHalfMediaQuery} {\n ${HalfCenteredRow} & {\n width: 200%;\n margin-left: -50%;\n }\n }\n`;\n\nconst TableCell = styled.td`\n padding: 1em;\n text-align: left;\n`;\n\nconst StyledTable = styled.table`\n table-layout: fixed;\n width: 100%;\n margin: 0 auto;\n border-collapse: collapse;\n border-spacing: 0;\n\n &,\n ${TableCell} {\n border: 2px solid ${theme.palette.common.grey};\n }\n\n &:not(:first-child) {\n margin-top: 2em;\n }\n`;\n\ntype PropsModel = {\n data: ContentfulTable;\n};\n\nfunction generateRows(tr: ContentfulTableRow[], keyPrefix: string) {\n return tr.map((row: ContentfulTableRow, i: number) => {\n return (\n \n {row.tr.map((cell: ContentfulTableCell, j: number) => {\n if (cell.nodeType === \"th\")\n return (\n \n );\n else\n return (\n \n );\n })}\n \n );\n });\n}\n\nexport const Table = ({ data }: PropsModel) => {\n return (\n {children}}\n >\n \n {data.childContentfulTableContentJsonNode.thead.length ? (\n \n {generateRows(\n data.childContentfulTableContentJsonNode.thead,\n data.contentful_id + \"_thead_\"\n )}\n \n ) : (\n \"\"\n )}\n {data.childContentfulTableContentJsonNode.tbody.length ? (\n \n {generateRows(\n data.childContentfulTableContentJsonNode.tbody,\n data.contentful_id + \"_tbody_\"\n )}\n \n ) : (\n \"\"\n )}\n \n \n );\n};\n","import * as React from \"react\";\nimport { documentToReactComponents } from \"@contentful/rich-text-react-renderer\";\nimport { BLOCKS, INLINES, MARKS } from \"@contentful/rich-text-types\";\n\nimport { ContentfulTable } from \"../utils/contentful\";\nimport { Table } from \"../components/common/table\";\n\nexport function formatBodyRaw(raw: any, tableNodes?: ContentfulTable[]) {\n const bodyOptions = {\n renderMark: {\n [MARKS.BOLD]: (text) => {text},\n [MARKS.ITALIC]: (text) => {text},\n },\n renderNode: {\n [INLINES.HYPERLINK]: ({ data }, children) => {\n return (\n \n {children}\n \n );\n },\n [BLOCKS.PARAGRAPH]: (_node, children) => {\n if (\n tableNodes &&\n (children.includes(\"ContentfulTable\") ||\n children.filter(\n (child: string) => child.toString().indexOf(\"ContentfulTable\") > 0\n ).length)\n ) {\n const node = tableNodes.filter(\n (node) =>\n `[ContentfulTable:\"${node.contentful_id}\"]` === children[0] ||\n children.includes(node.contentful_id)\n );\n\n if (node.length) {\n return ;\n } else return \"\";\n } else return

{children}

;\n },\n [BLOCKS.UL_LIST]: (_node, children) => {\n return
    {children}
;\n },\n [BLOCKS.LIST_ITEM]: (_node, children) => {\n return
  • {children}
  • ;\n },\n [BLOCKS.HEADING_2]: (_node, children) => {\n return

    {children}

    ;\n },\n [BLOCKS.HEADING_3]: (_node, children) => {\n return

    {children}

    ;\n },\n [BLOCKS.HEADING_4]: (_node, children) => {\n return

    {children}

    ;\n },\n [BLOCKS.HEADING_5]: (_node, children) => {\n return
    {children}
    ;\n },\n },\n };\n\n return raw ? documentToReactComponents(JSON.parse(raw), bodyOptions) : \"\";\n}\n"],"names":["getPageTitle","title","queryResult","privacyPolicyPage","allContentfulPage","nodes","privacyPolicyTables","allContentfulTable","formatPrivacyPolicyQueryResult","data","intl","useIntl","ThemeProvider","theme","type","FontFaces","rel","hrefLang","href","ENGLISH_HOMEPAGE","FRENCH_HOMEPAGE","name","content","locale","key","Wrapper","Heading","to","formatMessage","id","className","formatBodyRaw","body","raw","styled","TableWrapper","HalfCenteredRow","TableCell","StyledTable","generateRows","tr","keyPrefix","map","row","i","cell","j","nodeType","rowSpan","rowspan","dangerouslySetInnerHTML","__html","as","Table","condition","childContentfulTableContentJsonNode","wide","wrapper","children","thead","length","contentful_id","tbody","tableNodes","bodyOptions","renderMark","MARKS","text","renderNode","INLINES","uri","BLOCKS","_node","includes","filter","child","toString","indexOf","node","documentToReactComponents","JSON","parse"],"sourceRoot":""}