Skip to content

Commit

Permalink
[www/starters] filter out invalid entries and set max number to show (#…
Browse files Browse the repository at this point in the history
…8763)

* [www/starters] filter out invalid entries and set max number to show

* [www/starters] move load more onclick method

* [www] panic on build if error fetching starter repo data
  • Loading branch information
amberleyromo authored and pieh committed Oct 19, 2018
1 parent d87881a commit 3fb6d82
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 16 deletions.
19 changes: 8 additions & 11 deletions www/gatsby-node.js
Expand Up @@ -14,7 +14,10 @@ require(`dotenv`).config({
path: `.env.${process.env.NODE_ENV}`,
})

if (process.env.NODE_ENV === `production` && !process.env.GITHUB_API_TOKEN) {
if (
process.env.gatsby_executing_command === `build` &&
!process.env.GITHUB_API_TOKEN
) {
throw new Error(
`A GitHub token is required to build the site. Check the README.`
)
Expand Down Expand Up @@ -384,7 +387,7 @@ exports.createPages = ({ graphql, actions }) => {
}

// Create slugs for files.
exports.onCreateNode = ({ node, actions, getNode, getNodes }) => {
exports.onCreateNode = ({ node, actions, getNode, reporter }) => {
const { createNodeField } = actions
let slug
if (node.internal.type === `File`) {
Expand Down Expand Up @@ -546,16 +549,10 @@ exports.onCreateNode = ({ node, actions, getNode, getNodes }) => {
})
})
.catch(err => {
console.log(
`\nError getting repo data. Your GitHub token may be invalid`
reporter.panicOnBuild(
`Error getting repo data for starter "${repoStub}":\n
${err.message}`
)
return createNodeField({
node,
name: `starterShowcase`,
value: {
...defaultFields,
},
})
})
}
}
Expand Down
17 changes: 12 additions & 5 deletions www/src/views/starter-library/filtered-starters.js
Expand Up @@ -39,7 +39,13 @@ export default class FilteredStarterLibrary extends Component {
})
resetFilters = () =>
this.props.setURLState({ c: null, d: null, v: null, s: `` })

showMoreSites = starters => {
let showAll =
this.state.sitesToShow + 15 > starters.length ? starters.length : false
this.setState({
sitesToShow: showAll ? showAll : this.state.sitesToShow + 15,
})
}
onChangeUrlWithText = e => this.props.setURLState({ s: e.target.value })

render() {
Expand Down Expand Up @@ -69,7 +75,10 @@ export default class FilteredStarterLibrary extends Component {
)
)

let starters = data.allStartersYaml.edges
// stopgap for missing gh data (#8763)
let starters = data.allStartersYaml.edges.filter(({ node: starter }) => {
return starter.fields && starter.fields.starterShowcase
})

if (urlState.s.length > 0) {
starters = starters.filter(starter =>
Expand Down Expand Up @@ -241,9 +250,7 @@ export default class FilteredStarterLibrary extends Component {
<Button
tag="button"
overrideCSS={styles.loadMoreButton}
onClick={() => {
this.setState({ sitesToShow: this.state.sitesToShow + 15 })
}}
onClick={() => this.showMoreSites(starters)}
icon={<MdArrowDownward />}
>
Load More
Expand Down

0 comments on commit 3fb6d82

Please sign in to comment.