dfghgfhplkjbv

src/templates/Jobs.js

Mar 1st, 2019
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. import React, { Component } from 'react'
  2. import { graphql } from 'gatsby'
  3. import Header from 'src/components/Header'
  4. import PageHelmet from 'src/components/PageHelmet'
  5. import AllJobs from 'src/components/AllJobs'
  6. import Footer from 'src/components/Footer'
  7. import Subscribe from 'src/components/Subscribe'
  8.  
  9. class JobsPage extends Component {
  10. render() {
  11. const {
  12. data: {
  13. jobs: { edges: jobsEdges },
  14. jobTags: { edges: jobTagsEdges },
  15. experienceLevels: { edges: experienceLevelsEdges },
  16. background,
  17. subscribe,
  18. },
  19. pageContext: { locale },
  20. } = this.props
  21.  
  22. return (
  23. <>
  24. <PageHelmet locale={locale} />
  25. <Header full={true} locale={locale} />
  26. <AllJobs
  27. jobs={jobsEdges}
  28. jobTags={jobTagsEdges}
  29. experienceLevels={experienceLevelsEdges}
  30. locale={locale}
  31. background={background}
  32. />
  33. <Subscribe locale={locale} subscribe={subscribe} />
  34. <Footer locale={locale} />
  35. </>
  36. )
  37. }
  38. }
  39.  
  40. export const query = graphql`
  41. query Jobs($locale: String!) {
  42. jobs: allDatoCmsJob(filter: { locale: { eq: $locale } }) {
  43. edges {
  44. node {
  45. title
  46. description
  47. slug
  48. id
  49. tag {
  50. title
  51. }
  52. geolocation {
  53. latitude
  54. longitude
  55. }
  56. locationDescription
  57. companyName
  58. photo {
  59. id
  60. }
  61. companyLogo {
  62. url
  63. id
  64. }
  65. tag {
  66. title
  67. }
  68. experienceLevel {
  69. id
  70. title
  71. }
  72. }
  73. }
  74. }
  75. jobTags: allDatoCmsJobTag(filter: { locale: { eq: $locale } }) {
  76. edges {
  77. node {
  78. title
  79. locale
  80. id
  81. }
  82. }
  83. }
  84. experienceLevels: allDatoCmsExperienceLevel(filter: { locale: { eq: $locale } }) {
  85. edges {
  86. node {
  87. id
  88. title
  89. }
  90. }
  91. }
  92. background: file(relativePath: { eq: "duotone.png" }) {
  93. childImageSharp {
  94. fluid(maxWidth: 1440) {
  95. ...GatsbyImageSharpFluid
  96. }
  97. }
  98. }
  99. subscribe: file(relativePath: { eq: "subscribe-illustration.jpeg" }) {
  100. childImageSharp {
  101. fluid(maxWidth: 1440) {
  102. ...GatsbyImageSharpFluid
  103. }
  104. }
  105. }
  106. }
  107. `
  108.  
  109. export default JobsPage
Add Comment
Please, Sign In to add comment