diff --git a/website/api/controllers/view-homepage-or-redirect.js b/website/api/controllers/view-homepage-or-redirect.js index 4db3a40640..f02459cb32 100644 --- a/website/api/controllers/view-homepage-or-redirect.js +++ b/website/api/controllers/view-homepage-or-redirect.js @@ -20,12 +20,58 @@ module.exports = { description: 'Requesting user is logged in, so redirect to the internal welcome page.' }, + badConfig: { + responseType: 'badConfig' + }, + }, fn: async function () { - return {}; + if (!_.isObject(sails.config.builtStaticContent) || !_.isArray(sails.config.builtStaticContent.testimonials) || !sails.config.builtStaticContent.compiledPagePartialsAppPath) { + throw {badConfig: 'builtStaticContent.testimonials'}; + } + // Get testimonials for the component. + let testimonialsForScrollableTweets = _.clone(sails.config.builtStaticContent.testimonials); + + // Specify an order for the testimonials on this page using the last names of quote authors + let testimonialOrderForThisPage = [ + 'Bart Reardon', + 'Scott MacVicar', + 'Mike Meyer', + 'Luis Madrigal', + 'Tom Larkin', + 'Kenny Botelho', + 'Erik Gomez', + 'Chandra Majumdar', + 'Eric Tan', + 'Matt Carr', + 'Nico Waisman', + 'Dan Grzelak', + 'Philip Chotipradit', + 'Roger Cantrell', + 'Chayce O\'Neal' + ]; + + // Filter the testimonials by product category + testimonialsForScrollableTweets = _.filter(testimonialsForScrollableTweets, (testimonial)=>{ + return _.contains(testimonial.productCategories, 'Device management') && _.contains(testimonialOrderForThisPage, testimonial.quoteAuthorName); + }); + + testimonialsForScrollableTweets.sort((a, b)=>{ + if(testimonialOrderForThisPage.indexOf(a.quoteAuthorName) === -1){ + return 1; + } else if(testimonialOrderForThisPage.indexOf(b.quoteAuthorName) === -1) { + return -1; + } + return testimonialOrderForThisPage.indexOf(a.quoteAuthorName) - testimonialOrderForThisPage.indexOf(b.quoteAuthorName); + }); + + + return { + testimonialsForScrollableTweets + }; } diff --git a/website/assets/images/homepage-hero-wes-whetstone-86x72@2x.png b/website/assets/images/homepage-hero-wes-whetstone-86x72@2x.png new file mode 100644 index 0000000000..1ae9ea0456 Binary files /dev/null and b/website/assets/images/homepage-hero-wes-whetstone-86x72@2x.png differ diff --git a/website/assets/styles/pages/homepage.less b/website/assets/styles/pages/homepage.less index 920618f036..58b53d8380 100644 --- a/website/assets/styles/pages/homepage.less +++ b/website/assets/styles/pages/homepage.less @@ -21,7 +21,7 @@ text-transform: uppercase; font-family: 'Roboto Mono'; font-weight: 400; - font-size: 14px; + font-size: 16px; line-height: 120%; color: @core-fleet-black-75; margin-bottom: 8px; @@ -48,11 +48,11 @@ } [purpose='homepage-hero'] { - padding-top: 120px; + padding-top: 64px; padding-left: 64px; padding-bottom: 120px; max-width: 1200px; - height: 498px; + height: 448px; } [purpose='ticker-container'] { overflow: hidden; @@ -82,12 +82,21 @@ } } [purpose='hero-text'] { - max-width: 474px; + max-width: 500px; text-align: left; h1 { max-width: 640px; margin-bottom: 16px; } + h4 { + color: #515774; + font-feature-settings: 'salt' on, 'ss01' on, 'ss02' on; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 24px; + text-transform: uppercase; + } p { max-width: 412px; margin-bottom: 32px; @@ -99,6 +108,43 @@ } } + [purpose='hero-quote-author'] { + margin-top: 24px; + margin-bottom: 32px; + [purpose='hero-quote-profile-image'] { + margin-right: 16px; + img { + height: 72px; + } + } + [purpose='quote-author-info'] { + [purpose='quote-author-name'] { + color: var(--text-text-brand, #192147); + + /* Body XS (bold) */ + font-family: Inter; + font-size: 12px; + font-style: normal; + font-weight: 700; + line-height: 18px; /* 150% */ + margin-bottom: 0px; + } + [purpose='quote-author-title'] { + color: var(--text-text-primary, #515774); + font-family: Inter; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: 18px; + margin-bottom: 0px; + } + + + + } + + } + [purpose='button-row'] { display: flex; flex-direction: row; @@ -116,7 +162,7 @@ border-radius: 8px; padding-left: 32px; padding-right: 32px; - height: 40px; + height: 44px; display: flex; justify-content: center; align-items: center; @@ -147,7 +193,7 @@ padding-left: 60px; padding-right: 60px; margin-top: 24px; - margin-bottom: 120px; + margin-bottom: 64px; [parasails-component='logo-carousel'] { margin-bottom: 0px; } @@ -293,7 +339,7 @@ flex-direction: row; justify-content: center; align-items: center; - margin-bottom: 128px; + margin-bottom: 160px; [purpose='feature-image'] { img { width: 578px; @@ -337,7 +383,7 @@ flex-direction: row; justify-content: center; margin-top: 48px; - margin-bottom: 48px; + margin-bottom: 120px; text-decoration: none; h4 { color: #192147; @@ -389,65 +435,18 @@ align-items: center; } } - - [purpose='quote'] { - max-width: 580px; - margin-left: auto; - margin-right: auto; - padding-bottom: 80px; - padding-top: 32px; + [purpose='testimonials-header'] { + margin-top: 80px; text-align: center; - text-decoration: none; } - [purpose='quote-logo'] { - height: 32px; - // margin-bottom: 16px; - margin-left: auto; - margin-right: auto; - - } - [purpose='quote-text'] { - color: @core-fleet-black-75; - text-align: center; - font-size: 18px; - font-style: italic; - font-weight: 400; - line-height: 150%; - margin-bottom: 0px; - padding: 24px 0px; - } - [purpose='quote-attribution'] { - display: flex; - flex-direction: column; - align-items: center; - [purpose='quote-author-image'] { - height: 48px; - margin-bottom: 16px; - border-radius: 50%; - } - [purpose='name'] { - color: @core-fleet-black-75; - text-align: center; - font-size: 12px; - font-weight: 700; - line-height: 150%; - margin-bottom: 0px; - } - [purpose='job-title'] { - color: @core-fleet-black-75; - margin-bottom: 0px; - font-size: 12px; - font-weight: 400; - line-height: 150%; + [parasails-component='scrollable-tweets'] { + [purpose='tweets'] { + margin-top: 40px; } } - - - - [purpose='comparison-section'] { padding-bottom: 80px; @@ -927,8 +926,8 @@ } [purpose='homepage-hero'] { max-width: 100%; - padding-top: 80px; - padding-bottom: 80px; + padding-top: 64px; + padding-bottom: 32px; height: 418px; } [purpose='hero-background-image'] { @@ -1114,13 +1113,41 @@ } [purpose='hero-logos'] { + margin-bottom: 64px; + } + [purpose='statistics'] { margin-bottom: 80px; + [purpose='statistics-column'] { + display: flex; + flex-direction: column; + width: 227px; + } + [purpose='countries'] { + border-right: none; + padding: 16px 32px; + + } + [purpose='customers'] { + padding: 16px 32px; + } + [purpose='devices'] { + padding: 16px 32px; + } + [purpose='response-time'] { + padding: 16px 32px; + } + } [purpose='hero-text'] { min-width: unset; p { max-width: 465px; } + [purpose='button-row'] { + [purpose='cta-button'] { + width: 45%; + } + } } [purpose='page-section'] { margin-bottom: 80px; @@ -1154,36 +1181,6 @@ } } - [purpose='quote'] { - padding-bottom: 32px; - } - - - [purpose='statistics'] { - [purpose='statistics-column'] { - display: flex; - flex-direction: column; - width: 227px; - } - [purpose='countries'] { - border-right: none; - padding: 16px 32px; - - } - [purpose='customers'] { - padding: 16px 32px; - } - [purpose='devices'] { - padding: 16px 32px; - } - [purpose='response-time'] { - padding: 16px 32px; - } - - } - - - [purpose='three-column-features'] { margin-bottom: 120px; } @@ -1289,9 +1286,6 @@ h1 { font-size: 32px; } - h4 { - font-size: 14px; - } [purpose='option-container'] { height: 38.4px; } @@ -1317,6 +1311,11 @@ [purpose='hero-text'] { width: 100%; max-width: 100%; + [purpose='button-row'] { + [purpose='cta-button'] { + width: unset; + } + } } [purpose='feature-with-image'] { flex-direction: column; @@ -1469,9 +1468,9 @@ font-size: 28px; line-height: 120%; } - h4 { - font-size: 12px; - } + // h4 { + // font-size: 12px; + // } [purpose='announcement-banner'] { br { display: block; @@ -1490,8 +1489,7 @@ padding-top: 44px; padding-left: 16px; padding-right: 17px; - padding-bottom: 187px; - height: 520px; + padding-bottom: 217px; [purpose='option-container'] { height: 33.6px; } diff --git a/website/views/pages/homepage.ejs b/website/views/pages/homepage.ejs index ca2203b161..3009140129 100644 --- a/website/views/pages/homepage.ejs +++ b/website/views/pages/homepage.ejs @@ -6,37 +6,19 @@
<%/* Hero text */%>
-

One agent for
-
- every -
- OS - audit - script - config - question - laptop - desktop - phone - server - cloud instance - container - tablet - hospital - factory - report - new hire - offboard - employee - agent - robot - satellite - telescope - computer -
-
+

Open device management

+

“I just moved 13,000
Macs to Fleet” +

-

Replace the sprawl with lightning fast device management that puts you back in control.

+
+
+ Wes Whetstone +
+
+

Wes Whetstone

+

Client Platform Engineer at Stripe

+
+
Get a demo PlaySee Fleet in action3 mins @@ -50,83 +32,39 @@
+ +
+
+

100+

+

customers

+
+
+

90+

+

countries

+
+
+

2,000,000+

+

computing devices

+
+
+
+
+

90+

+

countries

+
+
+

100+

+

customers

+
+
+

8 minutes

+

avg support response time

+
+
+
<%/* Homepage content */%>
-
-
-

Everything in one place

-

Manage devices consistently in a single, open platform for Apple, Linux, and Windows.

-
- - - +

Freedom at every level

Manage devices your way, without vendor limits. Fleet gives you full control and supports the choices that work for your organization.

@@ -138,8 +76,8 @@
-
All features, any deployment
-

Let us host Fleet for you or deploy it yourself. You get the same experience either way.

+
All features, flexible deployment
+

Unlike other solutions, you can let us host Fleet for you or deploy it yourself. You get the same experience either way.

UI, API, or GitOps
@@ -153,52 +91,18 @@
- -
-
-

100+

-

customers

-
-
-

90+

-

countries

-
-
-

2,000,000+

-

computing devices

-
-
-
-
-

90+

-

countries

-
-
-

100+

-

customers

-
-
-

8 minutes

-

avg support response time

-
-
-
- - - Stripe logo -

- Fleet helped us avoid being forced to the cloud by our current MDM provider. We were able to migrate everything over to Fleet a few weeks ahead of our renewal, and now Stripe is in control. -

-
- Scott MacVicar -

Scott MacVicar

-

Head of Developer Infrastructure and Corporate Technology

-
-
+
+

What people are saying

+
+
+
+ +
+
-

How does Fleet compare?

-

Considering a move to Fleet? See how we compare:

+

Moving to Fleet?

+

See how Fleet compares with your other options.

IT
Security