1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-freactal/provideState.js
Tim Neutkens 9c4eefcdbf
Add prettier for examples directory (#5909)
* Add prettier for examples directory

* Fix files

* Fix linting

* Add prettier script in case it has to be ran again
2018-12-17 17:34:32 +01:00

29 lines
776 B
JavaScript

import { provideState, update } from 'freactal'
import { fetchUserRepos } from './githubApi'
export default serverState =>
provideState({
initialState: () => ({
...serverState,
ajaxStatus: false
}),
effects: {
setAjaxLoader: update((state, ajaxStatus) => ({ ajaxStatus })),
fetchGithubReposList: (effects, username, page) =>
effects
.setAjaxLoader(true)
.then(() => fetchUserRepos(username, page))
.then(repos => effects.setAjaxLoader(false).then(() => repos))
.then(repos => state => ({
...state,
githubReposList: {
username,
page,
repos: state.githubReposList.repos.concat(repos)
}
}))
}
})