-
Notifications
You must be signed in to change notification settings - Fork 1
/
static.config.js
94 lines (88 loc) · 1.91 KB
/
static.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import axios from 'axios';
import fetch from 'node-fetch';
import ApolloClient from 'apollo-boost';
import gql from 'graphql-tag';
const client = new ApolloClient({
uri: `http://104.129.16.55:7474/graphql/`,
fetch: fetch,
headers: {
"Authorization": `Basic ${process.env.AUTH}`
}
});
const functions = {
people: () => client.query({ query: gql`
{
People(status: "publish") {
Name
Person_Lookup
status
Aliases
Verses {
Osis_Ref
}
Personal_network
Has_Been_to
Events
}
}
`
}).then(res => res.data)
,
places: () => client.query({ query: gql`
{
Places(status: "publish") {
Place_Lookup
Display_Title
Has_been_here
Verses
Events_here
status
}
}
`
}).then(res => res.data)
}
export default {
// siteRoot: "",
getSiteData: () => ({
title: 'React Static',
}),
getRoutes: async () => {
const { People } = await functions.people()
const { Places } = await functions.places()
return [
{
path: '/people',
component: 'src/pages/People.jsx',
getData: () => ({
People
}),
children: People.map(person => ({
path: `/person/${person.Person_Lookup}`,
component: 'src/pages/templates/peopleTemplate.jsx',
getData: () => ({ person })
}))
},
{
path: '/places',
component: 'src/pages/Places.jsx',
getData: () => ({
Places
}),
children: Places.map(place => ({
path: `/place/${place.Place_Lookup}`,
component: 'src/pages/templates/placesTemplate.jsx',
getData: () => ({ place })
}))
},
{
path: '/',
component: 'src/containers/Home',
},
{
is404: true,
component: 'src/containers/404',
},
]
},
}