Skip to content

Instantly share code, notes, and snippets.

@jamestthompson3
Last active June 3, 2018 13:34
Show Gist options
  • Save jamestthompson3/f0d4851c2cd420b54071b4eeb2fc3068 to your computer and use it in GitHub Desktop.
Save jamestthompson3/f0d4851c2cd420b54071b4eeb2fc3068 to your computer and use it in GitHub Desktop.
withHandlers({
setUserList: ({ updateUserList }) => users => updateUserList(state => users),
addLike: ({ updateUserList }) => (user, like) => addUserLike(user, like),
addDislike: ({ updateUserList }) => (user, dislike) => addUserDislike(user, dislike),
deleteLike: ({ updateUserList }) => (user, like) =>
deleteUserLike(user, like.id).then(() =>
updateUserList(state => [
...state.map(i => {
if (i.user === user) {
i.likes = i.likes.filter(i => i.id !== like.id)
}
return i
})
])
),
deleteDislike: ({ updateUserList }) => (user, dislike) =>
deleteUserDislike(user, dislike.id).then(() =>
updateUserList(state => [
...state.map(i => {
if (i.user === user) {
i.dislikes = i.dislikes.filter(i => i.id !== dislike.id)
}
return i
})
])
)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment