-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
A4A: Implement WPCOM hosting section v3. (#97230)
* Implement WPCOM hosting section v3. * Remove unused CSS rules.
- Loading branch information
1 parent
24ee683
commit 9f9112a
Showing
9 changed files
with
325 additions
and
2 deletions.
There are no files selected for viewing
3 changes: 3 additions & 0 deletions
3
client/a8c-for-agencies/components/page-section/backgrounds/background-10.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions
16
client/a8c-for-agencies/components/page-section/backgrounds/background-9.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
68 changes: 68 additions & 0 deletions
68
client/a8c-for-agencies/sections/marketplace/common/hosting-features-section-v2/index.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
import { Card } from '@wordpress/components'; | ||
import { Icon } from '@wordpress/icons'; | ||
import PageSection, { PageSectionProps } from 'calypso/a8c-for-agencies/components/page-section'; | ||
import SimpleList from 'calypso/a8c-for-agencies/components/simple-list'; | ||
|
||
import './style.scss'; | ||
|
||
type Props = Omit< PageSectionProps, 'children' > & { | ||
features: { | ||
icon: JSX.Element; | ||
title: string; | ||
items: string[]; | ||
}[]; | ||
}; | ||
|
||
function FeatureCard( { | ||
title, | ||
icon, | ||
items, | ||
}: { | ||
title: string; | ||
icon: JSX.Element; | ||
items: string[]; | ||
} ) { | ||
return ( | ||
<Card className="hosting-features-section-v2__card"> | ||
<div className="hosting-features-section-v2__card-header"> | ||
<Icon icon={ icon } /> | ||
<h2 className="hosting-features-section-v2__card-title">{ title }</h2> | ||
</div> | ||
|
||
<SimpleList className="hosting-features-section-v2__card-list" items={ items } /> | ||
</Card> | ||
); | ||
} | ||
|
||
export default function HostingFeaturesSectionV2( { | ||
icon, | ||
heading, | ||
subheading, | ||
background, | ||
description, | ||
features, | ||
}: Props ) { | ||
return ( | ||
<PageSection | ||
className="hosting-features-section-v2" | ||
icon={ icon } | ||
heading={ heading } | ||
subheading={ subheading } | ||
background={ background } | ||
description={ description } | ||
> | ||
<div className="hosting-features-section-v2__cards"> | ||
{ features.map( ( feature, index ) => { | ||
return ( | ||
<FeatureCard | ||
key={ `feature-card-${ index }` } | ||
icon={ feature.icon } | ||
title={ feature.title } | ||
items={ feature.items } | ||
/> | ||
); | ||
} ) } | ||
</div> | ||
</PageSection> | ||
); | ||
} |
35 changes: 35 additions & 0 deletions
35
client/a8c-for-agencies/sections/marketplace/common/hosting-features-section-v2/style.scss
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
@import "@wordpress/base-styles/breakpoints"; | ||
@import "@wordpress/base-styles/mixins"; | ||
|
||
.hosting-features-section-v2__cards { | ||
display: grid; | ||
gap: 16px; | ||
|
||
@include break-large { | ||
grid-template-columns: repeat(4, 350px); | ||
gap: 32px; | ||
overflow-x: auto; | ||
margin-inline: -40px; | ||
margin-block-end: -80px; | ||
padding-inline: 40px; | ||
padding-block-end: 80px; | ||
} | ||
} | ||
|
||
.components-card.hosting-features-section-v2__card { | ||
padding: 24px; | ||
border: 1px solid var( --color-primary-5 ); | ||
box-shadow: none; | ||
position: inherit; | ||
} | ||
|
||
.hosting-features-section-v2__card-header { | ||
display: flex; | ||
flex-direction: row; | ||
gap: 8px; | ||
margin-block-end: 14px; | ||
} | ||
|
||
.hosting-features-section-v2__card-title { | ||
@include a4a-font-heading-lg; | ||
} |
47 changes: 47 additions & 0 deletions
47
.../sections/marketplace/hosting-overview-v3/hosting-content/common/client-relationships.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
import { useTranslate } from 'i18n-calypso'; | ||
import { SectionBackground } from 'calypso/a8c-for-agencies/components/page-section/backgrounds'; | ||
import HostingBenefitsSection from '../../../common/hosting-benefits-section'; | ||
|
||
type Props = { | ||
background?: SectionBackground; | ||
}; | ||
|
||
export default function ClientRelationships( { background }: Props ) { | ||
const translate = useTranslate(); | ||
return ( | ||
<HostingBenefitsSection | ||
heading={ translate( 'Improve your client relationships with our hosting' ) } | ||
subheading={ translate( 'How Automattic can help' ) } | ||
background={ background } | ||
items={ [ | ||
{ | ||
title: translate( 'Create trust' ), | ||
description: translate( | ||
"With over 15 years of experience running hundreds of millions of sites on WordPress.com, including the highest-trafficked sites globally, we've developed a platform we confidently put up against any cloud service." | ||
), | ||
benefits: [ | ||
translate( '99.999% Uptime' ), | ||
translate( 'High availability with automated scaling' ), | ||
], | ||
}, | ||
{ | ||
title: translate( 'Minimize risk' ), | ||
description: translate( | ||
'Automattic hosting plans offer exceptional security from day one, with the option to include or sell additional client-facing security features like real-time backups, anti-spam, and malware scanning.' | ||
), | ||
benefits: [ translate( 'Web Application Firewall' ), translate( 'DDoS protection' ) ], | ||
}, | ||
{ | ||
title: translate( 'Increase speed' ), | ||
description: translate( | ||
"We're the only cloud platform team fully dedicated to optimizing WordPress. Your customers will feel the difference." | ||
), | ||
benefits: [ | ||
translate( 'Incredibly low page speed index' ), | ||
'Automated WordPress edge caching', | ||
], | ||
}, | ||
] } | ||
/> | ||
); | ||
} |
80 changes: 80 additions & 0 deletions
80
...cies/sections/marketplace/hosting-overview-v3/hosting-content/common/hosting-features.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
import { code, copy, key, plus } from '@wordpress/icons'; | ||
import { useTranslate } from 'i18n-calypso'; | ||
import { BackgroundType9 } from 'calypso/a8c-for-agencies/components/page-section/backgrounds'; | ||
import HostingFeaturesSectionV2 from '../../../common/hosting-features-section-v2'; | ||
|
||
type Props = { | ||
heading: string; | ||
}; | ||
|
||
export default function HostingFeatures( { heading }: Props ) { | ||
const translate = useTranslate(); | ||
|
||
return ( | ||
<HostingFeaturesSectionV2 | ||
heading={ heading } | ||
subheading={ translate( 'World-class functionality' ) } | ||
background={ BackgroundType9 } | ||
features={ [ | ||
{ | ||
icon: copy, | ||
title: translate( 'Performance' ), | ||
items: [ | ||
translate( 'Global edge caching' ), | ||
translate( 'Global CDN with 28+ locations' ), | ||
translate( 'High-frequency CPUs' ), | ||
translate( 'High-burst capacity' ), | ||
translate( 'Automated datacenter failover' ), | ||
translate( 'Extremely fast DNS with SSL' ), | ||
translate( '10 PHP workers w/ auto-scaling' ), | ||
translate( 'Uptime monitoring' ), | ||
], | ||
}, | ||
{ | ||
icon: key, | ||
title: translate( 'Security' ), | ||
items: [ | ||
translate( 'Real-time backups' ), | ||
translate( 'DDOS protection and mitigation' ), | ||
translate( 'Brute-force protection' ), | ||
translate( 'Malware detection & removal' ), | ||
translate( 'Spam protection with Akismet' ), | ||
translate( 'Web application firewall (WAF)' ), | ||
translate( 'One-click restores' ), | ||
translate( 'Automated WordPress updates' ), | ||
translate( 'Isolated site infrastructure' ), | ||
], | ||
}, | ||
{ | ||
icon: code, | ||
title: translate( 'Dev Tools' ), | ||
items: [ | ||
translate( 'Local development environment' ), | ||
translate( 'Free staging site' ), | ||
translate( 'WP-CLI access' ), | ||
translate( 'SSH/SFTP access' ), | ||
translate( 'GitHub deployments' ), | ||
translate( 'Plugin auto-updates' ), | ||
translate( 'Centralized site management' ), | ||
translate( 'Domain management' ), | ||
translate( 'Site activity log' ), | ||
], | ||
}, | ||
{ | ||
icon: plus, | ||
title: translate( 'And More!' ), | ||
items: [ | ||
translate( '24/7 priority expert support' ), | ||
translate( 'Free managed migrations' ), | ||
translate( 'Install plugins and themes' ), | ||
translate( 'In-depth site analytics dashboard' ), | ||
translate( 'Elastic-powered search' ), | ||
translate( '4K, unbranded VideoPress player' ), | ||
translate( 'Free domain for one year' ), | ||
translate( 'Smart redirects' ), | ||
], | ||
}, | ||
] } | ||
/> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
60 changes: 60 additions & 0 deletions
60
...ections/marketplace/hosting-overview-v3/hosting-content/standard-agency-hosting/index.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
import { useTranslate } from 'i18n-calypso'; | ||
import { BackgroundType10 } from 'calypso/a8c-for-agencies/components/page-section/backgrounds'; | ||
import ProfileAvatar1 from 'calypso/assets/images/a8c-for-agencies/hosting/standard-testimonial-1.png'; | ||
import ProfileAvatar2 from 'calypso/assets/images/a8c-for-agencies/hosting/standard-testimonial-2.png'; | ||
import HostingTestimonialsSection from '../../../common/hosting-testimonials-section'; | ||
import ClientRelationships from '../common/client-relationships'; | ||
import HostingFeatures from '../common/hosting-features'; | ||
|
||
export default function StandardAgencyHosting() { | ||
const translate = useTranslate(); | ||
|
||
return ( | ||
<div className="standard-agency-hosting"> | ||
<section className="standard-agency-hosting__plan-selector-container">TODO</section> | ||
|
||
<HostingFeatures heading={ translate( 'Included with every WordPress.com site' ) } /> | ||
|
||
<HostingTestimonialsSection | ||
heading={ translate( 'Love for WordPress.com hosting' ) } | ||
subheading={ translate( 'What agencies say' ) } | ||
items={ [ | ||
{ | ||
profile: { | ||
name: 'Ajit Bohra', | ||
avatar: ProfileAvatar1, | ||
title: translate( 'Founder, %(companyName)s', { | ||
args: { | ||
companyName: 'LUBUS', | ||
}, | ||
comment: '%(companyName)s is the name of the company the testimonial is about.', | ||
} ), | ||
site: 'lubus.in', | ||
}, | ||
testimonial: translate( | ||
'We aimed to provide clients with a reliable hosting service we could endorse without hesitation, ultimately resulting in satisfied clients. We found that service with WordPress.com.' | ||
), | ||
}, | ||
{ | ||
profile: { | ||
name: 'Brian Lalli', | ||
avatar: ProfileAvatar2, | ||
title: translate( 'President, %(companyName)s', { | ||
args: { | ||
companyName: 'Moon Rooster LLC', | ||
}, | ||
comment: '%(companyName)s is the name of the company the testimonial is about.', | ||
} ), | ||
site: 'moonrooster.com', | ||
}, | ||
testimonial: translate( | ||
"WordPress.com has been crucial to my agency's growth. Its intuitive UI allows me to quickly create sleek, functional websites for my clients, and their reliable hosting and support enable me to rest easy, knowing my sites are in good hands." | ||
), | ||
}, | ||
] } | ||
/> | ||
|
||
<ClientRelationships background={ BackgroundType10 } /> | ||
</div> | ||
); | ||
} |