From 726eb401086cb665ce892f4098b147203c8b7f08 Mon Sep 17 00:00:00 2001 From: Ben Wheeler <wheeler.benjamin@gmail.com> Date: Wed, 24 Oct 2018 18:13:07 -0400 Subject: [PATCH] shared and remix buttons, first pass --- src/components/gui/gui.jsx | 3 ++ src/components/menu-bar/icon--remix.svg | Bin 0 -> 3221 bytes src/components/menu-bar/menu-bar.css | 19 +++++++-- src/components/menu-bar/menu-bar.jsx | 52 ++++++++++++++++++++---- 4 files changed, 63 insertions(+), 11 deletions(-) create mode 100644 src/components/menu-bar/icon--remix.svg diff --git a/src/components/gui/gui.jsx b/src/components/gui/gui.jsx index e21062db1..b59c32682 100644 --- a/src/components/gui/gui.jsx +++ b/src/components/gui/gui.jsx @@ -77,6 +77,7 @@ const GUIComponent = props => { intl, isPlayerOnly, isRtl, + isShared, loading, renderLogin, onClickAccountNav, @@ -185,6 +186,7 @@ const GUIComponent = props => { canShare={canShare} className={styles.menuBarPosition} enableCommunity={enableCommunity} + isShared={isShared} renderLogin={renderLogin} showComingSoon={showComingSoon} onClickAccountNav={onClickAccountNav} @@ -342,6 +344,7 @@ GUIComponent.propTypes = { intl: intlShape.isRequired, isPlayerOnly: PropTypes.bool, isRtl: PropTypes.bool, + isShared: PropTypes.bool, loading: PropTypes.bool, onActivateCostumesTab: PropTypes.func, onActivateSoundsTab: PropTypes.func, diff --git a/src/components/menu-bar/icon--remix.svg b/src/components/menu-bar/icon--remix.svg new file mode 100644 index 0000000000000000000000000000000000000000..a82c1bf6d5b93362bb8b06f88aac1e66a6fcfe1f GIT binary patch literal 3221 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 Md;ZUe{{(LS3$-J*8~^|S literal 0 HcmV?d00001 diff --git a/src/components/menu-bar/menu-bar.css b/src/components/menu-bar/menu-bar.css index 0e01803b5..683725c03 100644 --- a/src/components/menu-bar/menu-bar.css +++ b/src/components/menu-bar/menu-bar.css @@ -125,14 +125,19 @@ height: 34px; } +.menu-bar-button { + height: 2rem; +} + .share-button { background: $data-primary; - height: 32px; - box-shadow: 0 0 0 1px $ui-black-transparent; +} + +.share-button-is-shared { + background: $ui-black-transparent; } .community-button { - height: 32px; box-shadow: 0 0 0 1px $ui-black-transparent; } @@ -140,6 +145,14 @@ height: 1.25rem; } +.remix-button { + background-color: $pen-primary +} + +.remix-button-icon { + height: 1.25rem; +} + .coming-soon >:not(.coming-soon-tooltip) { opacity: 0.5; } diff --git a/src/components/menu-bar/menu-bar.jsx b/src/components/menu-bar/menu-bar.jsx index a67c97ceb..b69c2ef1d 100644 --- a/src/components/menu-bar/menu-bar.jsx +++ b/src/components/menu-bar/menu-bar.jsx @@ -55,6 +55,7 @@ import mystuffIcon from './icon--mystuff.png'; import feedbackIcon from './icon--feedback.svg'; import profileIcon from './icon--profile.png'; import communityIcon from './icon--see-community.svg'; +import remixIcon from './icon--remix.svg'; import dropdownCaret from './dropdown-caret.svg'; import languageIcon from '../language-selector/language-icon.svg'; @@ -241,16 +242,43 @@ class MenuBar extends React.Component { id="gui.menuBar.new" /> ); + const shareMessage = ( + <FormattedMessage + defaultMessage="Share" + description="Label for project share button" + id="gui.menuBar.share" + /> + ); + const isSharedMessage = ( + <FormattedMessage + defaultMessage="Shared" + description="Label for shared project" + id="gui.menuBar.isShared" + /> + ); const shareButton = ( <Button - className={classNames(styles.shareButton)} + className={classNames( + styles.menuBarButton, + styles.shareButton, + {[styles.shareButtonIsShared]: this.props.isShared} + )} onClick={this.props.onShare} > - <FormattedMessage - defaultMessage="Share" - description="Label for project share button" - id="gui.menuBar.share" - /> + {this.props.isShared ? isSharedMessage : shareMessage} + </Button> + ); + const remixButton = ( + <Button + className={classNames( + styles.menuBarButton, + styles.remixButto + )} + iconClassName={styles.remixButtonIcon} + iconSrc={remixIcon} + onClick={this.handleClickRemix} + > + {remixMessage} </Button> ); return ( @@ -458,11 +486,15 @@ class MenuBar extends React.Component { </MenuBarItemTooltip> ) : [] )} + {this.props.canRemix ? remixButton : []} </div> <div className={classNames(styles.menuBarItem, styles.communityButtonWrapper)}> {this.props.enableCommunity ? ( <Button - className={classNames(styles.communityButton)} + className={classNames( + styles.menuBarButton, + styles.communityButton + )} iconClassName={styles.communityButtonIcon} iconSrc={communityIcon} onClick={this.props.onSeeCommunity} @@ -476,7 +508,10 @@ class MenuBar extends React.Component { ) : (this.props.showComingSoon ? ( <MenuBarItemTooltip id="community-button"> <Button - className={classNames(styles.communityButton)} + className={classNames( + styles.menuBarButton, + styles.communityButton + )} iconClassName={styles.communityButtonIcon} iconSrc={communityIcon} > @@ -652,6 +687,7 @@ MenuBar.propTypes = { fileMenuOpen: PropTypes.bool, intl: intlShape, isRtl: PropTypes.bool, + isShared: PropTypes.bool, isShowingProject: PropTypes.bool, isUpdating: PropTypes.bool, languageMenuOpen: PropTypes.bool, -- GitLab