mirror of
https://github.com/bellingcat/ukraine-timemap.git
synced 2026-06-12 05:18:34 +03:00
32 lines
807 B
JavaScript
32 lines
807 B
JavaScript
import initial from '../store/initial.js'
|
|
|
|
import { UPDATE_DOMAIN, MARK_NOTIFICATIONS_READ } from '../actions'
|
|
import { validateDomain } from './validate/validators.js'
|
|
|
|
function updateDomain (domainState, action) {
|
|
return {
|
|
...domainState,
|
|
...validateDomain(action.payload.domain, action.payload.features)
|
|
}
|
|
}
|
|
|
|
function markNotificationsRead (domainState, action) {
|
|
return {
|
|
...domainState,
|
|
notifications: domainState.notifications.map(n => ({ ...n, isRead: true }))
|
|
}
|
|
}
|
|
|
|
function domain (domainState = initial.domain, action) {
|
|
switch (action.type) {
|
|
case UPDATE_DOMAIN:
|
|
return updateDomain(domainState, action)
|
|
case MARK_NOTIFICATIONS_READ:
|
|
return markNotificationsRead(domainState, action)
|
|
default:
|
|
return domainState
|
|
}
|
|
}
|
|
|
|
export default domain
|