Skip to content

Commit

Permalink
Merge branch 'master' into add/amp-story-opengraph-support
Browse files Browse the repository at this point in the history
  • Loading branch information
jeherve authored Sep 19, 2019
2 parents 2351a5a + 2484900 commit 248914d
Show file tree
Hide file tree
Showing 200 changed files with 5,629 additions and 3,845 deletions.
5 changes: 5 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"[Status] Needs Package Release":
- 'packages/*'
- 'packages/*/*'
- 'packages/*/*/*'
- 'packages/*/*/*/*'
25 changes: 25 additions & 0 deletions .github/workflows/build-master.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Build production to master-built
on:
push:
branches:
- master

jobs:
build_master_job:
runs-on: ubuntu-latest
name: Build production version of master to master-built branch
steps:
- name: Checkout Jetpack
uses: actions/checkout@master
- name: Build production files
run: COMPOSER_MIRROR_PATH_REPOS=1 yarn run build-production
- name: Purge dev files
run: $GITHUB_WORKSPACE/bin/prepare-built-branch.sh
- name: Push to built branch
id: commit-and-push
uses: automattic/action-commit-to-branch@master
with:
branch: 'master-built'
commit_message: 'Automated production build from master'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
11 changes: 11 additions & 0 deletions .github/workflows/label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: "Pull Request Labeler"
on:
- pull_request

jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v2
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
5 changes: 5 additions & 0 deletions .svnignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,11 @@ dangerfile.js
renovate.json
bin/phpcs-whitelist.js
bin/pre-commit-hook.js
bin/prepare-built-branch.sh
bin/prepare-commit-msg.js
bin/release-package.php
css/*.css.map
css/*.css.min.map
docs
tests
scss
Expand Down Expand Up @@ -49,6 +51,7 @@ modules/calypsoify/*.scss
to-test.md
webpack.config*
.editorconfig
_inc/.eslintrc.js
_inc/client
_inc/build/*.js.map
_inc/build/*.css.map
Expand All @@ -70,6 +73,8 @@ extensions/**/*.png
extensions/**/*.sass
extensions/**/*.scss
extensions/**/*.svg
extensions/.eslintrc.js
packages
**/__snapshots__
modules/search/instant-search
modules/search/.eslintrc.js
9 changes: 5 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,18 +40,19 @@ matrix:
name: "Build dashboard & extensions"
language: node_js
env: WP_TRAVISCI="yarn build"
- php: "7.3"
- php: "7.0"
name: "E2E tests"
if: branch !~ /(^branch-.*-built)/ AND env(RUN_E2E) = true
before_script:
# Enable user namespace cloning
- "sysctl kernel.unprivileged_userns_clone=1"
- nvm install
- yarn && yarn build
- bash tests/e2e/bin/setup-e2e-travis.sh jetpack_test root ''
- source ./env-file
- ./tests/e2e/bin/setup-e2e-travis.sh
- yarn test-decrypt-config
script: WP_BASE_URL=$WP_SITE_URL yarn test-e2e --runInBand
script:
- find $(pwd)/tests/e2e/specs/*.js > ~/.jest-e2e-tests
- yarn test-e2e --runInBand --verbose --runTestsByPath $(cat ~/.jest-e2e-tests )
addons:
apt:
packages:
Expand Down
5 changes: 5 additions & 0 deletions _inc/client/admin.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,11 @@ function render() {
name={ i18n.translate( 'Plans', { context: 'Navigation item.' } ) }
component={ Main }
/>
<Route
path="/plans-prompt"
name={ i18n.translate( 'Plans', { context: 'Navigation item.' } ) }
component={ Main }
/>
<Route
path="/settings"
name={ i18n.translate( 'Settings', { context: 'Navigation item.' } ) }
Expand Down
2 changes: 1 addition & 1 deletion _inc/client/at-a-glance/plugins.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ class DashPluginUpdates extends Component {
count: pluginUpdates.count,
} ) + ' ',
! this.props.isDevMode &&
__( '{{a}}Turn on plugin autoupdates{{/a}}', {
__( '{{a}}Turn on plugin autoupdates.{{/a}}', {
components: { a: <a href={ managePluginsUrl } /> },
} ),
]
Expand Down
2 changes: 1 addition & 1 deletion _inc/client/at-a-glance/search.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ class DashSearch extends Component {
return (
<div className="jp-dash-item">
<DashItem
label={ __( 'Search' ) }
label={ __( 'Jetpack Search' ) }
module="search"
support={ {
text: __(
Expand Down
11 changes: 0 additions & 11 deletions _inc/client/components/connect-button/style.scss
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,3 @@
// Buttons
// ==========================================================================

.jp-jetpack-connect__button {
background: $green-primary;
border-color: $green-secondary;
color: $white;

&:hover, &:focus {
background: $green-secondary;
border-color: $green-dark;
color: $white;
}
}
18 changes: 18 additions & 0 deletions _inc/client/components/jetpack-logo/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
JetpackLogo
========

Component that renders the Jetpack SVG logo.
It consists of the Jetpack symbol followed by the name.
It takes width and height properties but defaults to 32px in height.

#### How to use:

```js
<JetpackLogo height={ 48 } className="jp-logo" />
```

#### Props

* `className`: String - (default: `jetpack-logo`) the class name set on the SVG element.
* `height`: Number - (default: 32) set the height of the logo.
* `width`: Number - (optional) set the width of the logo.
44 changes: 44 additions & 0 deletions _inc/client/components/jetpack-logo/index.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/**
* External dependencies
*/
import PropTypes from 'prop-types';
import React from 'react';

class JetpackLogo extends React.Component {
static propTypes = {
className: PropTypes.string,
width: PropTypes.number,
height: PropTypes.number,
};

static defaultProps = {
className: 'jetpack-logo',
height: 32,
};

render() {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
x="0px"
y="0px"
viewBox="0 0 118 32"
{ ...this.props }
>
<path
fill="#00BE28"
d="M16,0C7.2,0,0,7.2,0,16s7.2,16,16,16s16-7.2,16-16S24.8,0,16,0z M15,19H7l8-16V19z M17,29V13h8L17,29z"
/>
<path d="M41.3,26.6c-0.5-0.7-0.9-1.4-1.3-2.1c2.3-1.4,3-2.5,3-4.6V8h-3V6h6v13.4C46,22.8,45,24.8,41.3,26.6z" />
<path d="M65,18.4c0,1.1,0.8,1.3,1.4,1.3c0.5,0,2-0.2,2.6-0.4v2.1c-0.9,0.3-2.5,0.5-3.7,0.5c-1.5,0-3.2-0.5-3.2-3.1V12H60v-2h2.1V7.1 H65V10h4v2h-4V18.4z" />
<path d="M71,10h3v1.3c1.1-0.8,1.9-1.3,3.3-1.3c2.5,0,4.5,1.8,4.5,5.6s-2.2,6.3-5.8,6.3c-0.9,0-1.3-0.1-2-0.3V28h-3V10z M76.5,12.3 c-0.8,0-1.6,0.4-2.5,1.2v5.9c0.6,0.1,0.9,0.2,1.8,0.2c2,0,3.2-1.3,3.2-3.9C79,13.4,78.1,12.3,76.5,12.3z" />
<path d="M93,22h-3v-1.5c-0.9,0.7-1.9,1.5-3.5,1.5c-1.5,0-3.1-1.1-3.1-3.2c0-2.9,2.5-3.4,4.2-3.7l2.4-0.3v-0.3c0-1.5-0.5-2.3-2-2.3 c-0.7,0-2.3,0.5-3.7,1.1L84,11c1.2-0.4,3-1,4.4-1c2.7,0,4.6,1.4,4.6,4.7L93,22z M90,16.4l-2.2,0.4c-0.7,0.1-1.4,0.5-1.4,1.6 c0,0.9,0.5,1.4,1.3,1.4s1.5-0.5,2.3-1V16.4z" />
<path d="M104.5,21.3c-1.1,0.4-2.2,0.6-3.5,0.6c-4.2,0-5.9-2.4-5.9-5.9c0-3.7,2.3-6,6.1-6c1.4,0,2.3,0.2,3.2,0.5V13 c-0.8-0.3-2-0.6-3.2-0.6c-1.7,0-3.2,0.9-3.2,3.6c0,2.9,1.5,3.8,3.3,3.8c0.9,0,1.9-0.2,3.2-0.7V21.3z" />
<path d="M110,15.2c0.2-0.3,0.2-0.8,3.8-5.2h3.7l-4.6,5.7l5,6.3h-3.7l-4.2-5.8V22h-3V6h3V15.2z" />
<path d="M58.5,21.3c-1.5,0.5-2.7,0.6-4.2,0.6c-3.6,0-5.8-1.8-5.8-6c0-3.1,1.9-5.9,5.5-5.9s4.9,2.5,4.9,4.9c0,0.8,0,1.5-0.1,2h-7.3 c0.1,2.5,1.5,2.8,3.6,2.8c1.1,0,2.2-0.3,3.4-0.7C58.5,19,58.5,21.3,58.5,21.3z M56,15c0-1.4-0.5-2.9-2-2.9c-1.4,0-2.3,1.3-2.4,2.9 C51.6,15,56,15,56,15z" />
</svg>
);
}
}

export default JetpackLogo;
22 changes: 2 additions & 20 deletions _inc/client/components/masthead/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import {
fetchSiteConnectionTest,
} from 'state/connection';
import { getCurrentVersion, userCanEditPosts } from 'state/initial-state';
import JetpackLogo from '../jetpack-logo';

export class Masthead extends React.Component {
static defaultProps = {
Expand Down Expand Up @@ -76,26 +77,7 @@ export class Masthead extends React.Component {
<div className="jp-masthead__inside-container">
<div className="jp-masthead__logo-container">
<a onClick={ this.trackLogoClick } className="jp-masthead__logo-link" href="#dashboard">
<svg
className="jetpack-logo__masthead"
xmlns="http://www.w3.org/2000/svg"
x="0px"
y="0px"
height="32"
viewBox="0 0 118 32"
>
<path
fill="#00BE28"
d="M16,0C7.2,0,0,7.2,0,16s7.2,16,16,16s16-7.2,16-16S24.8,0,16,0z M15,19H7l8-16V19z M17,29V13h8L17,29z"
/>
<path d="M41.3,26.6c-0.5-0.7-0.9-1.4-1.3-2.1c2.3-1.4,3-2.5,3-4.6V8h-3V6h6v13.4C46,22.8,45,24.8,41.3,26.6z" />
<path d="M65,18.4c0,1.1,0.8,1.3,1.4,1.3c0.5,0,2-0.2,2.6-0.4v2.1c-0.9,0.3-2.5,0.5-3.7,0.5c-1.5,0-3.2-0.5-3.2-3.1V12H60v-2h2.1V7.1 H65V10h4v2h-4V18.4z" />
<path d="M71,10h3v1.3c1.1-0.8,1.9-1.3,3.3-1.3c2.5,0,4.5,1.8,4.5,5.6s-2.2,6.3-5.8,6.3c-0.9,0-1.3-0.1-2-0.3V28h-3V10z M76.5,12.3 c-0.8,0-1.6,0.4-2.5,1.2v5.9c0.6,0.1,0.9,0.2,1.8,0.2c2,0,3.2-1.3,3.2-3.9C79,13.4,78.1,12.3,76.5,12.3z" />
<path d="M93,22h-3v-1.5c-0.9,0.7-1.9,1.5-3.5,1.5c-1.5,0-3.1-1.1-3.1-3.2c0-2.9,2.5-3.4,4.2-3.7l2.4-0.3v-0.3c0-1.5-0.5-2.3-2-2.3 c-0.7,0-2.3,0.5-3.7,1.1L84,11c1.2-0.4,3-1,4.4-1c2.7,0,4.6,1.4,4.6,4.7L93,22z M90,16.4l-2.2,0.4c-0.7,0.1-1.4,0.5-1.4,1.6 c0,0.9,0.5,1.4,1.3,1.4s1.5-0.5,2.3-1V16.4z" />
<path d="M104.5,21.3c-1.1,0.4-2.2,0.6-3.5,0.6c-4.2,0-5.9-2.4-5.9-5.9c0-3.7,2.3-6,6.1-6c1.4,0,2.3,0.2,3.2,0.5V13 c-0.8-0.3-2-0.6-3.2-0.6c-1.7,0-3.2,0.9-3.2,3.6c0,2.9,1.5,3.8,3.3,3.8c0.9,0,1.9-0.2,3.2-0.7V21.3z" />
<path d="M110,15.2c0.2-0.3,0.2-0.8,3.8-5.2h3.7l-4.6,5.7l5,6.3h-3.7l-4.2-5.8V22h-3V6h3V15.2z" />
<path d="M58.5,21.3c-1.5,0.5-2.7,0.6-4.2,0.6c-3.6,0-5.8-1.8-5.8-6c0-3.1,1.9-5.9,5.5-5.9s4.9,2.5,4.9,4.9c0,0.8,0,1.5-0.1,2h-7.3 c0.1,2.5,1.5,2.8,3.6,2.8c1.1,0,2.2-0.3,3.4-0.7C58.5,19,58.5,21.3,58.5,21.3z M56,15c0-1.4-0.5-2.9-2-2.9c-1.4,0-2.3,1.3-2.4,2.9 C51.6,15,56,15,56,15z" />
</svg>
<JetpackLogo className="jetpack-logo__masthead" />
</a>
{ devNotice }
{ sandboxedBadge }
Expand Down
30 changes: 27 additions & 3 deletions _inc/client/main.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import { getSearchTerm } from 'state/search';
import AtAGlance from 'at-a-glance/index.jsx';
import MyPlan from 'my-plan/index.jsx';
import Plans from 'plans/index.jsx';
import PlansPrompt from 'plans-prompt/index.jsx';
import Footer from 'components/footer';
import SupportCard from 'components/support-card';
import AppsCard from 'components/apps-card';
Expand All @@ -45,6 +46,7 @@ import QueryRewindStatus from 'components/data/query-rewind-status';
import { getRewindStatus } from 'state/rewind';

const dashboardRoutes = [ '#/', '#/dashboard', '#/my-plan', '#/plans' ];
const plansPromptRoute = '#/plans-prompt';

class Main extends React.Component {
UNSAFE_componentWillMount() {
Expand Down Expand Up @@ -211,6 +213,10 @@ class Main extends React.Component {
/>
);
break;
case '/plans-prompt':
navComponent = null;
pageComponent = <PlansPrompt siteAdminUrl={ this.props.siteAdminUrl } />;
break;
case '/settings':
case '/security':
case '/performance':
Expand Down Expand Up @@ -266,19 +272,37 @@ class Main extends React.Component {
return this.props.isSiteConnected && includes( dashboardRoutes, hashRoute );
}

shouldShowRewindStatus() {
// Do not show on plans prompt page
const hashRoute = '#' + this.props.route.path;
return this.props.isSiteConnected && hashRoute !== plansPromptRoute;
}

shouldShowMasthead() {
// Do not show on plans prompt page
const hashRoute = '#' + this.props.route.path;
return hashRoute !== plansPromptRoute;
}

shouldShowFooter() {
// Do not show on plans prompt page
const hashRoute = '#' + this.props.route.path;
return hashRoute !== plansPromptRoute;
}

render() {
return (
<div>
<Masthead route={ this.props.route } />
{ this.shouldShowMasthead() && <Masthead route={ this.props.route } /> }
<div className="jp-lower">
{ this.props.isSiteConnected && <QueryRewindStatus /> }
{ this.shouldShowRewindStatus() && <QueryRewindStatus /> }
<AdminNotices />
<JetpackNotices />
{ this.renderMainContent( this.props.route.path ) }
{ this.shouldShowSupportCard() && <SupportCard path={ this.props.route.path } /> }
{ this.shouldShowAppsCard() && <AppsCard /> }
</div>
<Footer siteAdminUrl={ this.props.siteAdminUrl } />
{ this.shouldShowFooter() && <Footer siteAdminUrl={ this.props.siteAdminUrl } /> }
<Tracker analytics={ analytics } />
</div>
);
Expand Down
61 changes: 61 additions & 0 deletions _inc/client/plans-prompt/index.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/**
* External dependencies
*/
import React from 'react';

/**
* Internal dependencies
*/
import analytics from 'lib/analytics';
import Button from 'components/button';
import Plans from '../plans';
import { translate as __ } from 'i18n-calypso';
import Gridicon from '../components/gridicon';
import JetpackLogo from '../components/jetpack-logo';

export class PlansPrompt extends React.Component {
trackStartWithFreeClick() {
analytics.tracks.recordJetpackClick( {
target: 'free-plan',
feature: 'plans-prompt',
} );
}

renderBanner() {
return (
<div className="plans-prompt__banner">
<JetpackLogo className="plans-prompt__logo" />
<h2 className="plans-prompt__heading">{ __( 'Explore our Jetpack plans' ) }</h2>
<p className="plans-prompt__intro">
{ __( "Now that you're set up, pick a plan that fits your needs." ) }
</p>
</div>
);
}

renderFooter() {
return (
<div className="plans-prompt__footer">
<Button
href={ this.props.siteAdminUrl + 'admin.php?page=jetpack' }
onClick={ this.trackStartWithFreeClick }
>
{ __( 'Start with free' ) }
<Gridicon icon={ 'arrow-right' } size={ 18 } />
</Button>
</div>
);
}

render() {
return (
<div className="plans-prompt">
{ this.renderBanner() }
<Plans />
{ this.renderFooter() }
</div>
);
}
}

export default PlansPrompt;
24 changes: 24 additions & 0 deletions _inc/client/plans-prompt/style.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
.plans-prompt__banner {
padding: 32px 0;
text-align: center;
}

.plans-prompt__heading {
font-size: 22px;
margin-bottom: 0;
}

.plans-prompt__intro {
font-size: 14px;
margin-top: 0.5em;
}

.plans-prompt__footer {
margin: 2em 0;
text-align: center;

.dops-button .gridicon {
padding-left: 4px;
margin-right: -5px;
}
}
Loading

0 comments on commit 248914d

Please sign in to comment.