src/pages/club/downloads.tsx   A
last analyzed

Complexity

Total Complexity 12
Complexity/F 0

Size

Lines of Code 107
Function Count 0

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 12
eloc 61
mnd 12
bc 12
fnc 0
dl 0
loc 107
rs 10
bpm 0
cpm 0
noi 0
c 0
b 0
f 0
1
import React from "react"
2
import { Seo } from "../../components/Seo"
3
import Layout from "../../layouts"
4
5
import downloadOngevalAangifte from "../../downloads/insurance_medical_attest_template_nl.pdf"
6
import downloadRules from "../../downloads/reglement_inwendige_orde_2022.pdf"
7
import downloadVoetbalouders from "../../downloads/2022-2023_-_De_ideale_voetbalgrootouder.pdf"
8
import { CardHorizontal } from "../../components/Card"
9
import { getImage } from "gatsby-plugin-image"
10
import { graphql } from "gatsby"
11
import { DownloadsPageProps } from "../../Types/PageProps"
12
13
import "./downloads.scss"
14
15
const DownloadsPage = ({ data: { medicalattest, rules, voetbalouders } }: DownloadsPageProps) => {
16
  const pictureOngevalAangifte =
17
    medicalattest?.childImageSharp?.gatsbyImageData && getImage(medicalattest?.childImageSharp?.gatsbyImageData)
18
  const pictureReglement = rules?.childImageSharp?.gatsbyImageData && getImage(rules?.childImageSharp?.gatsbyImageData)
19
  const pictureVoetbalouders =
20
    voetbalouders?.childImageSharp?.gatsbyImageData && getImage(voetbalouders?.childImageSharp?.gatsbyImageData)
21
  return (
22
    <Layout>
23
      <header className="page_header__wrapper">
24
        <div className="page_header">
25
          <h1>Digitale documenten - downloads</h1>
26
        </div>
27
      </header>
28
      <div className="page__wrapper page__wrapper--limited page__section page__downloads">
29
        <h2 className="featured-border">Aangiftes</h2>
30
        <section>
31
          {pictureOngevalAangifte && (
32
            <CardHorizontal
33
              title="Ongevalsaangifte"
34
              link={downloadOngevalAangifte}
35
              picture={pictureOngevalAangifte}
36
              body="<span class='label label--download'>DOWNLOAD</span><br/> Vanaf 1 september 2023 worden enkel nog digitale ongevalsaangiftes aanvaard. Gelieve bijgevoegd document ingevuld — digitaal – aan de GC te bezorgen."
37
            />
38
          )}
39
        </section>
40
        <h2 className="featured-border">Reglementen</h2>
41
        <section>
42
          {pictureReglement && (
43
            <CardHorizontal
44
              title="Reglement van Inwendige Orde"
45
              link={downloadRules}
46
              picture={pictureReglement}
47
              body="<span class='label label--download'>DOWNLOAD</span><br/> Elke persoon die het complex betreedt, wordt verwacht kennis te namen van (de bepalingen van) dit reglement, deze te aanvaarden en vooral na te leven."
48
            />
49
          )}
50
          {pictureVoetbalouders && (
51
            <CardHorizontal
52
              title="De 'ideale' voetbal(groot)ouders"
53
              link={downloadVoetbalouders}
54
              picture={pictureVoetbalouders}
55
              body="<span class='label label--download'>DOWNLOAD</span><br/> Het is fantastisch om te zien hoe trots u op uw (klein)kind bent en hoe u hen wilt aanmoedigen om het beste uit zichzelf te halen. In deze boodschap willen we u echter ook waarschuwen voor overmatig druk zetten op uw, maar ook andere, kinderen."
56
            />
57
          )}
58
        </section>
59
      </div>
60
    </Layout>
61
  )
62
}
63
64
export const Head = () => {
65
  return <Seo title="Downloads" description="Download digitale documenten" path="/downloads/" />
66
}
67
68
export const pageQuery = graphql`
69
  query DownloadsPage {
70
    medicalattest: file(name: { eq: "insurance_medical_attest_template_nl" }) {
71
      childImageSharp {
72
        gatsbyImageData(
73
          width: 480
74
          placeholder: DOMINANT_COLOR
75
          layout: CONSTRAINED
76
          aspectRatio: 1.77
77
          transformOptions: { cropFocus: ENTROPY }
78
        )
79
      }
80
    }
81
    rules: file(name: { eq: "pexels-joshua-miranda-4027658" }) {
82
      childImageSharp {
83
        gatsbyImageData(
84
          width: 480
85
          placeholder: DOMINANT_COLOR
86
          layout: CONSTRAINED
87
          aspectRatio: 1.77
88
          transformOptions: { cropFocus: ENTROPY }
89
        )
90
      }
91
    }
92
    voetbalouders: file(name: { eq: "download-voetbalouder" }) {
93
      childImageSharp {
94
        gatsbyImageData(
95
          width: 480
96
          placeholder: DOMINANT_COLOR
97
          layout: CONSTRAINED
98
          aspectRatio: 1.77
99
          transformOptions: { cropFocus: ENTROPY }
100
        )
101
      }
102
    }
103
  }
104
`
105
106
export default DownloadsPage
107