pinafore/src/routes/_store/mixins/statusMixins.js
Nolan Lawson 4bd181d3cc
fix: update Sapper to latest (#775)
* fix: update to latest sapper

fixes #416

* fix error and debug pages

* requestIdleCallback makes column switching feel way nicer than double rAF

* add export feature

* add better csp info

* workaround for sapper sub-page issue

* clarify in readme about exporting

* fix now config

* switch from rIC to triple raf

* style-loader is no longer used

* update theming guide
2018-12-11 07:31:48 -08:00

29 lines
1 KiB
JavaScript

function getStatusModifications (store, instanceName) {
let { statusModifications } = store.get()
statusModifications[instanceName] = statusModifications[instanceName] || {
favorites: {},
reblogs: {},
pins: {}
}
return statusModifications
}
function setStatusModification (store, instanceName, statusId, key, value) {
let statusModifications = getStatusModifications(store, instanceName)
statusModifications[instanceName][key][statusId] = value
store.set({ statusModifications })
}
export function statusMixins (Store) {
Store.prototype.setStatusFavorited = function (instanceName, statusId, favorited) {
setStatusModification(this, instanceName, statusId, 'favorites', favorited)
}
Store.prototype.setStatusReblogged = function (instanceName, statusId, reblogged) {
setStatusModification(this, instanceName, statusId, 'reblogs', reblogged)
}
Store.prototype.setStatusPinned = function (instanceName, statusId, pinned) {
setStatusModification(this, instanceName, statusId, 'pins', pinned)
}
}