export const updateRating = createOptimisticAction<{
id: number,
rating: number
}>({
onMutate: ({ id, rating }) => {
// if rating === -2
if (rating < -1) return productsCollection.delete(id)
productsCollection.update(id, (draft) => {
draft.triedNote = rating < 0 ? undefined : rating
draft.triedAt = new Date()
})
},
mutationFn: async ({ id, rating }, params) => {
const tried = await updateCollection({ id, rating })
const product = productsCollection.get(id)
return {
...product,
triedNote: tried.note,
triedAt: tried.createdAt,
}
},
})
export const updateRating = createOptimisticAction<{
id: number,
rating: number
}>({
onMutate: ({ id, rating }) => {
// if rating === -2
if (rating < -1) return productsCollection.delete(id)
productsCollection.update(id, (draft) => {
draft.triedNote = rating < 0 ? undefined : rating
draft.triedAt = new Date()
})
},
mutationFn: async ({ id, rating }, params) => {
const tried = await updateCollection({ id, rating })
const product = productsCollection.get(id)
return {
...product,
triedNote: tried.note,
triedAt: tried.createdAt,
}
},
})