From 46fc47e520efeff328db9b125c5339baac7b88e5 Mon Sep 17 00:00:00 2001 From: David Rojas Camaggi Date: Tue, 6 Jun 2017 09:45:36 -0400 Subject: PLT 6416 Add StatusDropdown to profile picture in top left (#6327) (#6418) * PLT-6416 the profile picture is always shown in the top left (#6327) * PLT-6416 Add status icon to profile picture in left sidebar (#6327) * PLT-6416 Add StatusDropdown to profile picture in top left (#6327) * Fixing theme stuff for status picker * PLT-6416 Automatically close status dropdown after selection (#6327) * PLT-6416 Avoid render status dropdown in sidebar if isMobile (#6327) * PLT-6416 Change icon for status change to caret-down (#6327) * PLT-6416 Update visibility of status dropdown after window size (#6327) * PLT-6416 Refactor status dropdown for better mouse usability (#6327) * PLT-6416 Change status dropdown to the redux way (#6327) * PLT-6416 Fix header style of admin sidebar (#6327) --- webapp/components/status_dropdown/index.jsx | 33 +++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 webapp/components/status_dropdown/index.jsx (limited to 'webapp/components/status_dropdown/index.jsx') diff --git a/webapp/components/status_dropdown/index.jsx b/webapp/components/status_dropdown/index.jsx new file mode 100644 index 000000000..bd2f7d7d0 --- /dev/null +++ b/webapp/components/status_dropdown/index.jsx @@ -0,0 +1,33 @@ +import {setStatus} from 'mattermost-redux/actions/users'; +import {connect} from 'react-redux'; +import {bindActionCreators} from 'redux'; +import { + getCurrentUser, + getStatusForUserId +} from 'mattermost-redux/selectors/entities/users'; +import {Client} from 'mattermost-redux/client'; + +import StatusDropdown from 'components/status_dropdown/status_dropdown.jsx'; + +function mapStateToProps(state) { + const currentUser = getCurrentUser(state); + const userId = currentUser.id; + const lastPicUpdate = currentUser.last_picture_update; + const profilePicture = Client.getProfilePictureUrl(userId, lastPicUpdate); + const status = getStatusForUserId(state, currentUser.id); + return { + userId, + profilePicture, + status + }; +} + +function mapDispatchToProps(dispatch) { + return { + actions: bindActionCreators({ + setStatus + }, dispatch) + }; +} + +export default connect(mapStateToProps, mapDispatchToProps)(StatusDropdown); -- cgit v1.2.3-1-g7c22