mirror of
https://github.com/bellingcat/ukraine-timemap.git
synced 2026-06-12 21:38:35 +03:00
60 lines
1.4 KiB
JavaScript
60 lines
1.4 KiB
JavaScript
import initial from '../store/initial.js';
|
|
|
|
import {
|
|
TOGGLE_FETCHING_DOMAIN,
|
|
TOGGLE_FETCHING_SOURCES,
|
|
TOGGLE_VIEW,
|
|
TOGGLE_TIMELINE,
|
|
TOGGLE_INFOPOPUP,
|
|
TOGGLE_NOTIFICATIONS
|
|
} from '../actions'
|
|
|
|
function toggleFetchingDomain(uiState, action) {
|
|
return Object.assign({}, uiState, {
|
|
flags: Object.assign({}, uiState.flags, {
|
|
isFetchingDomain: !uiState.flags.isFetchingDomain
|
|
})
|
|
});
|
|
}
|
|
|
|
function toggleFetchingSources(uiState, action) {
|
|
return Object.assign({}, uiState, {
|
|
flags: Object.assign({}, uiState.flags, {
|
|
isFetchingSources: !uiState.flags.isFetchingSources
|
|
})
|
|
});
|
|
}
|
|
|
|
function toggleInfoPopup(uiState, action) {
|
|
return Object.assign({}, uiState, {
|
|
flags: Object.assign({}, uiState.flags, {
|
|
isInfopopup: !uiState.flags.isInfopopup
|
|
})
|
|
});
|
|
}
|
|
|
|
function toggleNotifications(uiState, action) {
|
|
return Object.assign({}, uiState, {
|
|
flags: Object.assign({}, uiState.flags, {
|
|
isNotification: !uiState.flags.isNotification
|
|
})
|
|
});
|
|
}
|
|
|
|
function ui(uiState = initial.ui, action) {
|
|
switch (action.type) {
|
|
case TOGGLE_FETCHING_DOMAIN:
|
|
return toggleFetchingDomain(uiState, action);
|
|
case TOGGLE_FETCHING_SOURCES:
|
|
return toggleFetchingSources(uiState, action);
|
|
case TOGGLE_INFOPOPUP:
|
|
return toggleInfoPopup(uiState, action);
|
|
case TOGGLE_NOTIFICATIONS:
|
|
return toggleNotifications(uiState, action);
|
|
default:
|
|
return uiState;
|
|
}
|
|
}
|
|
|
|
export default ui;
|