mattermost-mobile/app/screens/theme/index.js
Chris Duarte 7c711caf2d Theme selection screen (#2320)
* Theme selection screen (initial commit)

PR Review changes

Add custom theme option for users who are already using a custom theme

Fix for limited allowed themes

Selected item case fix

Memoized available themes request, other optimizations

updated snapshots

* Custom theme option changes - title. spacing, save option on state for life-cycle of screen
2018-11-23 14:49:28 -03:00

28 lines
1,012 B
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import {getTheme} from 'mattermost-redux/selectors/entities/preferences';
import {getCurrentUserId} from 'mattermost-redux/selectors/entities/users';
import {getCurrentTeamId} from 'mattermost-redux/selectors/entities/teams';
import {savePreferences} from 'mattermost-redux/actions/preferences';
import {getAllowedThemes, getCustomTheme} from 'app/selectors/theme';
import Theme from './theme';
const mapStateToProps = (state) => ({
userId: getCurrentUserId(state),
teamId: getCurrentTeamId(state),
theme: getTheme(state),
allowedThemes: getAllowedThemes(state),
customTheme: getCustomTheme(state),
});
const mapDispatchToProps = (dispatch) => ({
actions: bindActionCreators({
savePreferences,
}, dispatch),
});
export default connect(mapStateToProps, mapDispatchToProps)(Theme);