Passed
Push — feature/preseason-2020-2021 ( 0f5b63...815229 )
by Kevin Van
04:18
created

src/pages/events.js   A

Complexity

Total Complexity 1
Complexity/F 1

Size

Lines of Code 93
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 48
mnd 0
bc 0
fnc 1
dl 0
loc 93
bpm 0
cpm 1
noi 0
c 0
b 0
f 0
rs 10

1 Function

Rating   Name   Duplication   Size   Complexity  
A EventsPage.render 0 43 1
1
import React, { Component } from "react"
2
import { graphql } from "gatsby"
3
4
import Layout from "../layouts/index"
5
import SEO from "../components/seo"
6
import Event from "../components/event"
7
8
class EventsPage extends Component {
9
  render() {
10
    const { events } = this.props.data
11
    return (
12
      <Layout>
13
        <SEO
14
          lang="nl-BE"
15
          title="Evenementen"
16
          description="Alle toekomstige evenementen van KCVV Elewijt"
17
          path={this.props.location.pathname}
18
        />
19
20
        <div className={"limited-width_wrapper"}>
21
          <h1>Evenementen</h1>
22
23
          {events.edges.map(({ node }, i) => (
24
            <Event
25
              key={i}
26
              title={node.title}
27
              localFile={
28
                node.relationships.field_media_image.relationships
29
                  .field_media_image.localFile
30
              }
31
              uri={node.field_event_link.uri}
32
              datetime_start={node.field_daterange.value}
33
              datetime_end={node.field_daterange.end_value}
34
            />
35
          ))}
36
37
          {events.edges.length === 0 && (
38
            <div>
39
              Geen evenementen ingepland voorlopig. Check{" "}
40
              <a
41
                href="https://www.facebook.com/kcvvelewijt"
42
                target="_blank"
43
                rel="noopener noreferrer"
44
              >
45
                Facebook
46
              </a>{" "}
47
              om op de hoogte te blijven.
48
            </div>
49
          )}
50
        </div>
51
      </Layout>
52
    )
53
  }
54
}
55
56
export const pageQuery = graphql`
57
  query {
58
    events: allNodeEvent(
59
      filter: { promote: { eq: true }, status: { eq: true } }
60
      sort: { order: ASC, fields: field_daterange___value }
61
    ) {
62
      edges {
63
        node {
64
          field_daterange {
65
            value(formatString: "YYYY-MM-DDTHH:mm:ssZ")
66
            end_value(formatString: "YYYY-MM-DDTHH:mm:ssZ")
67
          }
68
          field_event_link {
69
            uri
70
          }
71
          title
72
          relationships {
73
            field_media_image {
74
              field_media_image {
75
                alt
76
              }
77
              relationships {
78
                field_media_image {
79
                  localFile {
80
                    ...KCVVFluid960
81
                  }
82
                }
83
              }
84
            }
85
          }
86
        }
87
      }
88
    }
89
  }
90
`
91
92
export default EventsPage
93