diff options
author | Noah Loomans <noahloomans@gmail.com> | 2018-06-26 22:40:40 +0200 |
---|---|---|
committer | Noah Loomans <noahloomans@gmail.com> | 2018-06-26 22:40:40 +0200 |
commit | c12b366994eeb2cd960ede1948e6e99f1127c292 (patch) | |
tree | db9b03c13f38c446c9c10c071f27cbff36c0124a /src/client/react/components/container | |
parent | 294b3b241c2f28b1bbbe4ccb760981bcee8fab5b (diff) |
Menu: Split presentational and container
Diffstat (limited to 'src/client/react/components/container')
-rw-r--r-- | src/client/react/components/container/Menu.js | 74 | ||||
-rw-r--r-- | src/client/react/components/container/Menu.scss | 25 |
2 files changed, 1 insertions, 98 deletions
diff --git a/src/client/react/components/container/Menu.js b/src/client/react/components/container/Menu.js index 85fa785..7e5abd0 100644 --- a/src/client/react/components/container/Menu.js +++ b/src/client/react/components/container/Menu.js @@ -18,83 +18,11 @@ * */ -import React from 'react'; import { connect } from 'react-redux'; import { withRouter } from 'react-router-dom'; -import { PropTypes } from 'prop-types'; -import { Button, ButtonIcon } from 'rmwc/Button'; -import { SimpleMenu, MenuItem } from 'rmwc/Menu'; -import { Icon } from 'rmwc/Icon'; -import users from '../../users'; import { makeSetUser, userFromMatch } from '../../lib/url'; -import './Menu.scss'; - -class Menu extends React.Component { - static propTypes = { - setUser: PropTypes.func.isRequired, - user: PropTypes.string, - showRoomFinder: PropTypes.func.isRequired, - } - - static defaultProps = { - user: null, - } - - onItemSelected(index) { - switch (index) { - case 'room_finder': { - const { setUser, user, showRoomFinder } = this.props; - - if (user == null || users.byId[user].type !== 'r') { - // We are not currently viewing a room, correct the situation. - setUser(users.allRoomIds[0]); - } - - showRoomFinder(); - break; - } - default: - // No default - } - } - - render() { - return ( - <div className="Menu"> - <SimpleMenu - handle={( - <Button> - <ButtonIcon use="more_vert" /> - </Button> - )} - onSelected={(event) => { - // Send the `data-type` of the selected <MenuItem /> - this.onItemSelected(event.detail.item.dataset.type); - }} - > - <MenuItem data-type="add_label"> - <Icon use="bookmark_border" /> - Voeg label toe - </MenuItem> - <MenuItem data-type="make_favorite"> - <Icon use="star_border" /> - Maak favoriet - </MenuItem> - <div className="mdc-list-divider" role="separator" /> - <MenuItem data-type="room_finder"> - <Icon use="location_searching" /> - Lokaal zoeken - </MenuItem> - <MenuItem data-type="use_legacy_schedule"> - <Icon use="launch" /> - Oud rooster gebruiken - </MenuItem> - </SimpleMenu> - </div> - ); - } -} +import Menu from '../presentational/Menu'; const mapStateToProps = (state, { match, location, history }) => ({ user: userFromMatch(match), diff --git a/src/client/react/components/container/Menu.scss b/src/client/react/components/container/Menu.scss deleted file mode 100644 index 3d84507..0000000 --- a/src/client/react/components/container/Menu.scss +++ /dev/null @@ -1,25 +0,0 @@ -.Menu { - .mdc-menu-anchor { - height: 100%; - } - - .mdc-button { - height: 100%; - min-width: unset; - color: black; - - &::before, &::after { - background-color: black; - } - - i { - font-size: 24px; - } - } - - .mdc-list-item { - i { - padding-right: 8px; - } - } -} |