Passed
Pull Request — develop (#758)
by Kevin Van
08:31 queued 04:31
created

srcBU/pages/events.js   A

Complexity

Total Complexity 1
Complexity/F 1

Size

Lines of Code 87
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

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

1 Function

Rating   Name   Duplication   Size   Complexity  
A EventsPage.render 0 37 1
1
import { graphql } from "gatsby"
2
import React, { Component } from "react"
3
4
import EventCard from "../components/EventCard"
5
import SEO from "../components/seo"
6
import Layout from "../layouts/index"
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
            <EventCard
25
              key={i}
26
              title={node.title}
27
              picture={node.relationships.field_media_image.relationships.field_media_image.localFile}
28
              link={node.field_event_link.uri}
29
              datetimeStart={node.field_daterange.value}
30
              datetimeEnd={node.field_daterange.end_value}
31
            />
32
          ))}
33
34
          {events.edges.length === 0 && (
35
            <div>
36
              Geen evenementen ingepland voorlopig. Check{` `}
37
              <a href="https://www.facebook.com/kcvvelewijt" target="_blank" rel="noopener noreferrer">
38
                Facebook
39
              </a>
40
              {` `}
41
              om op de hoogte te blijven.
42
            </div>
43
          )}
44
        </div>
45
      </Layout>
46
    )
47
  }
48
}
49
50
export const pageQuery = graphql`
51
  query {
52
    events: allNodeEvent(
53
      filter: { promote: { eq: true }, status: { eq: true } }
54
      sort: { order: ASC, fields: field_daterange___value }
55
    ) {
56
      edges {
57
        node {
58
          field_daterange {
59
            value(formatString: "YYYY-MM-DDTHH:mm:ssZ")
60
            end_value(formatString: "YYYY-MM-DDTHH:mm:ssZ")
61
          }
62
          field_event_link {
63
            uri
64
          }
65
          title
66
          relationships {
67
            field_media_image {
68
              field_media_image {
69
                alt
70
              }
71
              relationships {
72
                field_media_image {
73
                  localFile {
74
                    ...KCVVFluid960
75
                  }
76
                }
77
              }
78
            }
79
          }
80
        }
81
      }
82
    }
83
  }
84
`
85
86
export default EventsPage
87