mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
9c4eefcdbf
* Add prettier for examples directory * Fix files * Fix linting * Add prettier script in case it has to be ran again
29 lines
776 B
JavaScript
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)
|
|
}
|
|
}))
|
|
}
|
|
})
|