Skip to content
This repository was archived by the owner on Feb 27, 2024. It is now read-only.

Commit 991e089

Browse files
author
Greg Rickaby
authored
Merge branch 'staging' into dependabot/npm_and_yarn/eslint-plugin-jsdoc-31.0.8
2 parents ac9e71f + c7a3c32 commit 991e089

31 files changed

+231
-247
lines changed

api/wordpress/_global/getFrontendPage.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import queryDefaultSeo from '../_global/queryDefaultSeo'
21
import formatDefaultSeoData from '@/functions/formatDefaultSeoData'
32
import {initializeWpApollo} from '../connector'
3+
import queryDefaultPageData from './queryDefaultPageData'
4+
import getMenus from '../menus/getMenus'
45

56
// Define SEO for Frontend routes.
67
export const frontendPageSeo = {
@@ -30,9 +31,12 @@ export default async function getFrontendPage(route) {
3031

3132
// Execute query.
3233
response.post = await apolloClient
33-
.query({query: queryDefaultSeo})
34+
.query({query: queryDefaultPageData})
3435
.then((res) => {
35-
const {homepageSettings, siteSeo} = res.data
36+
const {homepageSettings, siteSeo, menus} = res.data
37+
38+
// Retrieve menus.
39+
response.menus = getMenus(menus)
3640

3741
// Retrieve default SEO data.
3842
response.defaultSeo = formatDefaultSeoData({homepageSettings, siteSeo})

api/wordpress/_global/getPostTypeArchive.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import queryTeamsArchive from '../teams/queryTeamsArchive'
88
import queryPortfoliosArchive from '../portfolios/queryPortfoliosArchive'
99
import queryTestimonialsArchive from '../testimonials/queryTestimonialsArchive'
1010
import formatDefaultSeoData from '@/functions/formatDefaultSeoData'
11+
import getMenus from '../menus/getMenus'
1112

1213
// Define SEO for archives.
1314
export const archiveSeo = {
@@ -117,7 +118,10 @@ export default async function getPostTypeArchive(
117118
await apolloClient
118119
.query({query, variables})
119120
.then((archive) => {
120-
const {homepageSettings, siteSeo, ...archiveData} = archive.data
121+
const {homepageSettings, siteSeo, menus, ...archiveData} = archive.data
122+
123+
// Retrieve menus.
124+
response.menus = getMenus(menus)
121125

122126
// Retrieve default SEO data.
123127
response.defaultSeo = formatDefaultSeoData({homepageSettings, siteSeo})

api/wordpress/_global/getPostTypeById.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import queryTeamById from '../teams/queryTeamById'
1010
import queryPortfolioById from '../portfolios/queryPortfolioById'
1111
import queryTestimonialById from '../testimonials/queryTestimonialById'
1212
import formatDefaultSeoData from '@/functions/formatDefaultSeoData'
13+
import getMenus from '../menus/getMenus'
1314

1415
/**
1516
* Retrieve single post by specified identifier.
@@ -65,7 +66,10 @@ export default async function getPostTypeById(postType, id, idType = 'SLUG') {
6566
response.post = await apolloClient
6667
.query({query, variables: {id, idType}})
6768
.then((res) => {
68-
const {homepageSettings, siteSeo, ...postData} = res.data
69+
const {homepageSettings, siteSeo, menus, ...postData} = res.data
70+
71+
// Retrieve menus.
72+
response.menus = getMenus(menus)
6973

7074
// Retrieve default SEO data.
7175
response.defaultSeo = formatDefaultSeoData({homepageSettings, siteSeo})

api/wordpress/_global/getPostTypeStaticProps.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ import {algoliaIndexName} from '@/api/algolia/connector'
22
import getPostTypeById from './getPostTypeById'
33
import getPostTypeArchive from './getPostTypeArchive'
44
import {addApolloState} from '@/api/apolloConfig'
5-
import getMenus from '@/api/wordpress/menus/getMenus'
6-
import config from '@/functions/config'
75
import getFrontendPage, {frontendPageSeo} from './getFrontendPage'
86

97
/**
@@ -20,15 +18,11 @@ export default async function getPostTypeStaticProps(
2018
// preview = false, // TODO - add preview handling.
2119
// previewData = null
2220
) {
23-
// Get WP Nav Menus.
24-
const menus = await getMenus(config.menuLocations)
25-
2621
// Set revalidate length (seconds).
2722
const revalidate = 60 * 5
2823

2924
// Set sharedProps.
3025
const sharedProps = {
31-
menus,
3226
algolia: {
3327
indexName: algoliaIndexName
3428
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import {gql} from '@apollo/client'
2+
import defaultPageData from '../_partials/defaultPageData'
3+
4+
// Query: retrieve default SEO and other page data.
5+
const queryDefaultPageData = gql`
6+
query GET_DEFAULT_SEO {
7+
${defaultPageData}
8+
}
9+
`
10+
11+
export default queryDefaultPageData

api/wordpress/_global/queryDefaultSeo.js

Lines changed: 0 additions & 11 deletions
This file was deleted.

api/wordpress/_partials/allMenus.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Query partial: retrieve all menus.
2+
const allMenus = `
3+
menus {
4+
nodes {
5+
locations
6+
menuItems {
7+
nodes {
8+
id
9+
parentId
10+
label
11+
path
12+
target
13+
title
14+
}
15+
}
16+
}
17+
}
18+
`
19+
20+
export default allMenus
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import defaultSeoFields from './defaultSeoFields'
2+
import allMenus from './allMenus'
3+
4+
/**
5+
* Query partial: retrieve default data for all frontend pages.
6+
*/
7+
const defaultPageData = `
8+
${defaultSeoFields}
9+
${allMenus}
10+
`
11+
12+
export default defaultPageData

api/wordpress/_partials/defaultSeoFields.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const {default: seoPostFields} = require('./seoPostFields')
1+
import seoPostFields from './seoPostFields'
22

33
// Query partial: retrieve homepage & site SEO fields.
44
const defaultSeoFields = `

api/wordpress/careers/queryCareerById.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import globalPostFields from '../_partials/globalPostFields'
22
import seoPostFields from '../_partials/seoPostFields'
33
import featuredImagePostFields from '../_partials/featuredImagePostFields'
44
import {gql} from '@apollo/client'
5-
import defaultSeoFields from '../_partials/defaultSeoFields'
5+
import defaultPageData from '../_partials/defaultPageData'
66

77
// Fragment: retrieve single career fields.
88
const singleCareerFragment = gql`
@@ -22,7 +22,7 @@ const queryCareerById = gql`
2222
$idType: CareerIdType = SLUG
2323
$imageSize: MediaItemSizeEnum = LARGE
2424
) {
25-
${defaultSeoFields}
25+
${defaultPageData}
2626
career(id: $id, idType: $idType) {
2727
...SingleCareerFields
2828
}

0 commit comments

Comments
 (0)