diff --git a/browser/components/loop/content/css/contacts.css b/browser/components/loop/content/css/contacts.css index e8c9acce7210..9d1aaccb649f 100644 --- a/browser/components/loop/content/css/contacts.css +++ b/browser/components/loop/content/css/contacts.css @@ -360,26 +360,20 @@ html[dir="rtl"] .contact > .dropdown-menu { } .contacts-gravatar-promo { - position: relative; - border: 1px dashed #c1c1c1; + border: 1px solid #5cccee; border-radius: 2px; - background-color: #fbfbfb; - padding: 10px; - margin-top: 10px; + background-color: #fff; + font-size: 1.2rem; + margin: 1.5rem; + padding: 1.5rem 1rem; + position: relative; } .contacts-gravatar-promo > p { - margin-top: 2px; - margin-bottom: 8px; - margin-right: 4px; + margin-top: 0; word-wrap: break-word; } -html[dir="rtl"] .contacts-gravatar-promo > p { - margin-right: 0; - margin-left: 4px; -} - .contacts-gravatar-promo > p > a { color: #0295df; text-decoration: none; @@ -400,6 +394,44 @@ html[dir="rtl"] .contacts-gravatar-promo > .button-close { left: 8px; } +.contacts-gravatar-avatars { + height: 50px; + margin: 1.5rem auto; + text-align: center; + width: 200px; +} + +.contacts-gravatar-avatars img { + margin: 0 1.5rem; + vertical-align: middle; + width: 50px; +} + +/* Adjust the Firefox avatar because it has pointy ears. */ +.contacts-gravatar-avatars img:last-child { + transform: scale(1.08) translateY(-2px); +} + +.contacts-gravatar-arrow { + border-color: #9b9b9b; + border-style: solid solid none none; + border-width: 2px; + display: inline-block; + height: 1.5rem; + -moz-margin-start: -.75rem; + transform: rotateZ(45deg); + vertical-align: middle; + width: 1.5rem; +} + +html[dir="rtl"] .contacts-gravatar-arrow { + transform: rotateZ(225deg); +} + +.contacts-gravatar-buttons { + padding: 0 .5rem; +} + .contact-controls { padding: 0 16px; } diff --git a/browser/components/loop/content/css/panel.css b/browser/components/loop/content/css/panel.css index 83af3f584c4d..311881b920bb 100644 --- a/browser/components/loop/content/css/panel.css +++ b/browser/components/loop/content/css/panel.css @@ -265,6 +265,12 @@ html[dir="rtl"] .tab-view li:nth-child(2).selected ~ .slide-bar { font-weight: lighter; } +/* Don't show the empty contacts image if we're showing gravatar promo. */ +.contacts-gravatar-promo ~ .contact-list-empty { + background-image: none; + padding-top: 3%; +} + .contact-list-empty { padding-top: 27%; } diff --git a/browser/components/loop/content/js/contacts.js b/browser/components/loop/content/js/contacts.js index 6859cf88bdf3..f4bbe72d7da9 100644 --- a/browser/components/loop/content/js/contacts.js +++ b/browser/components/loop/content/js/contacts.js @@ -134,11 +134,17 @@ loop.contacts = (function(_, mozL10n) { onClick: this.handleCloseButtonClick}), React.createElement("p", {dangerouslySetInnerHTML: {__html: message}, onClick: this.handleLinkClick}), - React.createElement(ButtonGroup, null, - React.createElement(Button, {caption: mozL10n.get("gravatars_promo_button_nothanks"), + React.createElement("div", {className: "contacts-gravatar-avatars"}, + React.createElement("img", {src: "loop/shared/img/avatars.svg#orange-avatar"}), + React.createElement("span", {className: "contacts-gravatar-arrow"}), + React.createElement("img", {src: "loop/shared/img/firefox-avatar.svg"}) + ), + React.createElement(ButtonGroup, {additionalClass: "contacts-gravatar-buttons"}, + React.createElement(Button, {additionalClass: "secondary", + caption: mozL10n.get("gravatars_promo_button_nothanks2"), onClick: this.handleCloseButtonClick}), - React.createElement(Button, {additionalClass: "button-accept", - caption: mozL10n.get("gravatars_promo_button_use"), + React.createElement(Button, {additionalClass: "secondary", + caption: mozL10n.get("gravatars_promo_button_use2"), onClick: this.handleUseButtonClick}) ) ) @@ -666,10 +672,10 @@ loop.contacts = (function(_, mozL10n) { return ( React.createElement("div", {className: "contact-list-empty"}, React.createElement("p", {className: "panel-text-large"}, - mozL10n.get("no_contacts_message_heading") + mozL10n.get("no_contacts_message_heading2") ), React.createElement("p", {className: "panel-text-medium"}, - mozL10n.get("no_contacts_import_or_add") + mozL10n.get("no_contacts_import_or_add2") ) ) ); @@ -714,7 +720,7 @@ loop.contacts = (function(_, mozL10n) { busy: this.state.importBusy})}) ), React.createElement(Button, {additionalClass: "primary", - caption: mozL10n.get("new_contact_button"), + caption: mozL10n.get("new_contact_button2"), onClick: this.handleAddContactButtonClick}) ) ); @@ -726,9 +732,7 @@ loop.contacts = (function(_, mozL10n) { } return ( - React.createElement("div", {className: "content-area"}, - React.createElement(GravatarPromo, {handleUse: this.handleUseGravatar}) - ) + React.createElement(GravatarPromo, {handleUse: this.handleUseGravatar}) ); }, diff --git a/browser/components/loop/content/js/contacts.jsx b/browser/components/loop/content/js/contacts.jsx index 3b258f70e381..ed94abe5cba1 100644 --- a/browser/components/loop/content/js/contacts.jsx +++ b/browser/components/loop/content/js/contacts.jsx @@ -134,11 +134,17 @@ loop.contacts = (function(_, mozL10n) { onClick={this.handleCloseButtonClick} />

- -