From e5a2152cfdfc1e3b64911fa5b9e3b7833060c75a Mon Sep 17 00:00:00 2001 From: Kit Westneat Date: Thu, 12 Apr 2018 17:51:01 -0400 Subject: [PATCH 1/4] don't show profile tab if user is logged out --- client/coral-embed-stream/src/components/Embed.js | 2 ++ .../src/components/ExtendableTabPanel.js | 8 +++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/client/coral-embed-stream/src/components/Embed.js b/client/coral-embed-stream/src/components/Embed.js index 0c4fed129..cb4803a2d 100644 --- a/client/coral-embed-stream/src/components/Embed.js +++ b/client/coral-embed-stream/src/components/Embed.js @@ -16,6 +16,8 @@ import cn from 'classnames'; export default class Embed extends React.Component { getTabs() { + if (!this.props.currentUser) return false; + const tabs = [ - - {tabs} - + {tabs && ( + + {tabs} + + )} {loading ? (
From a6344d8e717f5e83d13dc30bd1fbb7f66bc26e49 Mon Sep 17 00:00:00 2001 From: Wyatt Johnson Date: Tue, 17 Apr 2018 13:19:03 -0600 Subject: [PATCH 2/4] fixed proptype missing validation --- .../src/components/Embed.js | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/client/coral-embed-stream/src/components/Embed.js b/client/coral-embed-stream/src/components/Embed.js index cb4803a2d..a2476527e 100644 --- a/client/coral-embed-stream/src/components/Embed.js +++ b/client/coral-embed-stream/src/components/Embed.js @@ -16,8 +16,6 @@ import cn from 'classnames'; export default class Embed extends React.Component { getTabs() { - if (!this.props.currentUser) return false; - const tabs = [ {t('embed_comments_tab')} , - - {t('framework.my_profile')} - , ]; + + if (this.props.currentUser) { + tabs.push( + + {t('framework.my_profile')} + + ); + } + if (can(this.props.currentUser, 'UPDATE_ASSET_CONFIG')) { tabs.push( ); } + return tabs; } From a257fdb623f838a869cc9a060feca3de6478e7a3 Mon Sep 17 00:00:00 2001 From: Wyatt Johnson Date: Tue, 17 Apr 2018 13:23:02 -0600 Subject: [PATCH 3/4] removed deprecated not logged in ui for profile tab --- .../tabs/profile/components/NotLoggedIn.css | 14 ---------- .../tabs/profile/components/NotLoggedIn.js | 15 ----------- .../src/tabs/profile/containers/Profile.js | 27 +++---------------- 3 files changed, 4 insertions(+), 52 deletions(-) delete mode 100644 client/coral-embed-stream/src/tabs/profile/components/NotLoggedIn.css delete mode 100644 client/coral-embed-stream/src/tabs/profile/components/NotLoggedIn.js diff --git a/client/coral-embed-stream/src/tabs/profile/components/NotLoggedIn.css b/client/coral-embed-stream/src/tabs/profile/components/NotLoggedIn.css deleted file mode 100644 index c15c44c98..000000000 --- a/client/coral-embed-stream/src/tabs/profile/components/NotLoggedIn.css +++ /dev/null @@ -1,14 +0,0 @@ -.message { - padding: 10px 0 20px; - letter-spacing: 0.1px; - font-size: 13px; - line-height: 33px; -} - -.message a { - color: black; - font-weight: bold; - cursor: pointer; - margin: 0px; - padding-bottom: 2px; -} diff --git a/client/coral-embed-stream/src/tabs/profile/components/NotLoggedIn.js b/client/coral-embed-stream/src/tabs/profile/components/NotLoggedIn.js deleted file mode 100644 index 4987d57be..000000000 --- a/client/coral-embed-stream/src/tabs/profile/components/NotLoggedIn.js +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react'; -import styles from './NotLoggedIn.css'; -import cn from 'classnames'; - -import t from 'coral-framework/services/i18n'; - -export default ({ showSignInDialog }) => ( -
-
- {t('settings.sign_in')}{' '} - {t('settings.to_access')} -
-
{t('from_settings_page')}
-
-); diff --git a/client/coral-embed-stream/src/tabs/profile/containers/Profile.js b/client/coral-embed-stream/src/tabs/profile/containers/Profile.js index 30d634d94..84584ae5d 100644 --- a/client/coral-embed-stream/src/tabs/profile/containers/Profile.js +++ b/client/coral-embed-stream/src/tabs/profile/containers/Profile.js @@ -2,27 +2,17 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import { compose, gql } from 'react-apollo'; -import { bindActionCreators } from 'redux'; import { withQuery } from 'coral-framework/hocs'; -import NotLoggedIn from '../components/NotLoggedIn'; import { Spinner } from 'coral-ui'; import Profile from '../components/Profile'; import TabPanel from './TabPanel'; import { getDefinitionName } from 'coral-framework/utils'; -import { showSignInDialog } from 'coral-embed-stream/src/actions/login'; import { getSlotFragmentSpreads } from 'coral-framework/utils'; class ProfileContainer extends Component { - componentWillReceiveProps(nextProps) { - if (!this.props.currentUser && nextProps.currentUser) { - // Refetch after login. - this.props.data.refetch(); - } - } - render() { - const { currentUser, showSignInDialog, root } = this.props; + const { currentUser, root } = this.props; const { me } = this.props.root; const loading = this.props.data.loading; @@ -30,10 +20,6 @@ class ProfileContainer extends Component { return
{this.props.data.error.message}
; } - if (!currentUser) { - return ; - } - if (loading || !me) { return ; } @@ -57,7 +43,6 @@ ProfileContainer.propTypes = { data: PropTypes.object, root: PropTypes.object, currentUser: PropTypes.object, - showSignInDialog: PropTypes.func, }; const slots = ['profileSections']; @@ -85,10 +70,6 @@ const mapStateToProps = state => ({ currentUser: state.auth.user, }); -const mapDispatchToProps = dispatch => - bindActionCreators({ showSignInDialog }, dispatch); - -export default compose( - connect(mapStateToProps, mapDispatchToProps), - withProfileQuery -)(ProfileContainer); +export default compose(connect(mapStateToProps), withProfileQuery)( + ProfileContainer +); From b6299c2d406c75c1bb208bc6014387d59f4d31e3 Mon Sep 17 00:00:00 2001 From: Wyatt Johnson Date: Tue, 17 Apr 2018 13:35:30 -0600 Subject: [PATCH 4/4] fix e2e test --- test/e2e/specs/03_embedStream.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/test/e2e/specs/03_embedStream.js b/test/e2e/specs/03_embedStream.js index f45c467e8..4b6831271 100644 --- a/test/e2e/specs/03_embedStream.js +++ b/test/e2e/specs/03_embedStream.js @@ -96,12 +96,6 @@ module.exports = { comments.logout(); }, - 'not logged in user clicks my profile tab': client => { - const embedStream = client.page.embedStream(); - const profile = embedStream.goToProfileSection(); - - profile.assert.visible('@notLoggedIn'); - }, 'admin logs in': client => { const { testData: { admin } } = client.globals; const embedStream = client.page.embedStream();