Website: Add calendar banner to landing pages (#18313)

Changes:
- Added the logo carousel component to product category landing pages
- Added a banner about the upcoming calendar feature and the
`<logo-carousel>` component to the product category landing pages (It
currently only shows up for users with a `primaryBuyingSituation`).
This commit is contained in:
Eric 2024-04-19 15:58:29 -05:00 committed by GitHub
parent 6f1d037d1a
commit 909ed4bb7f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 451 additions and 56 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

View file

@ -180,7 +180,7 @@
}
[purpose='testimonials'] {
padding-top: 60px;
margin-bottom: 160px;
margin-bottom: 80px;
}
[purpose='testimonial-quote'] {
width: 640px;
@ -298,6 +298,83 @@
height: 641px;
}
}
[parasails-component='logo-carousel'] {
margin-bottom: 80px;
}
[purpose='calendar-section'] {
padding: 0px 64px 40px 64px;
margin-bottom: 40px;
max-width: 1200px;
margin-left: auto;
margin-right: auto;
}
[purpose='calendar-card-body'] {
width: 50%;
padding-left: 64px;
padding-bottom: 24px;
margin-right: 24px;
text-align: left;
h3 {
font-size: 32px;
line-height: 120%;
margin-bottom: 24px;
}
p {
max-width: 720px;
margin-bottom: 24px;
margin-top: 24px;
}
a {
margin-bottom: 6px;
padding-right: 24px;
}
}
[purpose='calendar-card'] {
border-radius: 24px;
border: 1px solid #E2E4EA;
background: linear-gradient(165deg, #F9FDFE 10.56%, #FFF 33.43%);
overflow: hidden;
height: 420px;
}
[purpose='coming-soon-badge'] {
background-color: #0587FF;
padding: 4px 8px 3px 8px;
display: flex;
align-items: center;
border-radius: 14px;
color: #FFF;
font-size: 12px;
font-weight: 500;
line-height: 18px;
text-transform: uppercase;
margin-bottom: 8px;
}
[purpose='calendar-image'] {
padding-top: 32px;
padding-bottom: 24px;
height: 420px;
width: 50%;
display: flex;
flex-direction: row;
overflow-x: hidden;
justify-content: center;
position: relative;
&:before {
position: absolute;
content: ' ';
width: 55px;
left: 0px;
top: 0px;
height: 420px;
background: linear-gradient(270deg, rgba(255, 255, 255, 0.00) 0%, #FFF 100%);
}
img {
height: 100%;
width: auto;
}
}
[purpose='feature'] {
margin-bottom: 140px;
@ -457,8 +534,8 @@
padding-left: 40px;
padding-right: 40px;
}
[purpose='testimonials'] {
margin-bottom: 100px;
[purpose='calendar-section'] {
padding: 0px 40px 40px 40px;
}
[purpose='page-section'] {
margin-bottom: 140px;
@ -492,6 +569,7 @@
}
@media (max-width: 767px) {
[purpose='page-content'] {
max-width: @page-container-max-width-md;
}
@ -506,9 +584,6 @@
font-size: 42px;
}
}
[purpose='testimonials'] {
margin-bottom: 80px;
}
[purpose='testimonial-quote'] {
[purpose='quote'] {
p {
@ -519,6 +594,31 @@
[purpose='page-section'] {
margin-bottom: 120px;
}
[purpose='calendar-section'] {
padding: 0px 32px 40px 32px;
}
[purpose='calendar-card-body'] {
width: 100%;
padding-left: 24px;
padding-right: 24px;
padding-bottom: 48px;
padding-top: 60px;
margin-right: 0px;
text-align: center;
}
[purpose='calendar-card'] {
height: unset;
}
[purpose='calendar-image'] {
padding-top: 0;
padding-bottom: 0;
height: 420px;
width: 100%;
&:before {
content: '';
background: none;
}
}
[purpose='tweets-container'] {
padding-top: 120px;
}
@ -645,6 +745,11 @@
max-width: 100%;
}
}
[purpose='calendar-section'] {
padding: 0px 24px 40px 24px;
}
[purpose='testimonial-video'] {
width: 200px;
height: 160px;
@ -709,6 +814,7 @@
h2 {
font-size: 24px;
}
[purpose='testimonial-videos'] {
flex-direction: column;
}
@ -737,6 +843,16 @@
}
}
}
[purpose='calendar-image'] {
height: 287px;
}
[purpose='calendar-card-body'] {
padding-left: 16px;
padding-right: 16px;
}
[purpose='calendar-section'] {
padding: 0px 16px 40px 16px;
}
[purpose='page-section'] {
margin-bottom: 80px;
}

View file

@ -163,7 +163,7 @@
}
[purpose='testimonials'] {
padding-top: 60px;
margin-bottom: 180px;
margin-bottom: 80px;
}
[purpose='testimonial-videos'] {
width: 468px;
@ -289,6 +289,82 @@
height: 641px;
}
}
[parasails-component='logo-carousel'] {
margin-bottom: 80px;
}
[purpose='calendar-section'] {
padding: 0px 64px 40px 64px;
margin-bottom: 40px;
max-width: 1200px;
margin-left: auto;
margin-right: auto;
}
[purpose='calendar-card-body'] {
width: 50%;
padding-left: 64px;
padding-bottom: 24px;
margin-right: 24px;
text-align: left;
h3 {
font-size: 32px;
line-height: 120%;
margin-bottom: 24px;
}
p {
max-width: 720px;
margin-bottom: 24px;
margin-top: 24px;
}
a {
margin-bottom: 6px;
padding-right: 24px;
}
}
[purpose='calendar-card'] {
border-radius: 24px;
border: 1px solid #E2E4EA;
background: linear-gradient(165deg, #F9FDFE 10.56%, #FFF 33.43%);
overflow: hidden;
height: 420px;
}
[purpose='coming-soon-badge'] {
background-color: #0587FF;
padding: 4px 8px 3px 8px;
display: flex;
align-items: center;
border-radius: 14px;
color: #FFF;
font-size: 12px;
font-weight: 500;
line-height: 18px;
text-transform: uppercase;
margin-bottom: 8px;
}
[purpose='calendar-image'] {
padding-top: 32px;
padding-bottom: 24px;
height: 420px;
width: 50%;
display: flex;
flex-direction: row;
overflow-x: hidden;
justify-content: center;
position: relative;
&:before {
position: absolute;
content: ' ';
width: 55px;
left: 0px;
top: 0px;
height: 420px;
background: linear-gradient(270deg, rgba(255, 255, 255, 0.00) 0%, #FFF 100%);
}
img {
height: 100%;
width: auto;
}
}
[purpose='feature-headline'] {
margin-top: 160px;
margin-bottom: 80px;
@ -454,6 +530,9 @@
padding-left: 40px;
padding-right: 40px;
}
[purpose='calendar-section'] {
padding: 0px 40px 40px 40px;
}
[purpose='page-content'] {
max-width: 840px;
}
@ -516,6 +595,32 @@
margin-bottom: 24px;
}
}
[purpose='calendar-section'] {
padding: 0px 32px 40px 32px;
}
[purpose='calendar-card-body'] {
width: 100%;
padding-left: 24px;
padding-right: 24px;
padding-bottom: 48px;
padding-top: 60px;
margin-right: 0px;
text-align: center;
}
[purpose='calendar-card'] {
height: unset;
}
[purpose='calendar-image'] {
padding-top: 0;
padding-bottom: 0;
height: 420px;
width: 100%;
&:before {
content: '';
background: none;
}
}
[purpose='feature-text'] {
width: unset;
}
@ -533,9 +638,6 @@
margin-right: auto;
}
}
[purpose='testimonials'] {
margin-bottom: 120px;
}
[purpose='testimonial-videos'] {
margin-left: auto;
margin-right: auto;
@ -596,6 +698,9 @@
max-width: 100%;
}
}
[purpose='calendar-section'] {
padding: 0px 24px 40px 24px;
}
[purpose='testimonial-video'] {
width: 200px;
height: 160px;
@ -656,6 +761,7 @@
}
}
}
@media (max-width: 375px) {
[purpose='page-container'] {
@ -670,6 +776,16 @@
padding-top: 40px;
padding-bottom: 40px;
}
[purpose='calendar-image'] {
height: 287px;
}
[purpose='calendar-card-body'] {
padding-left: 16px;
padding-right: 16px;
}
[purpose='calendar-section'] {
padding: 0px 16px 40px 16px;
}
[purpose='hero-image'] {
max-height: 360px;
max-width: unset;

View file

@ -167,7 +167,7 @@
}
[purpose='testimonials'] {
padding-top: 60px;
margin-bottom: 180px;
margin-bottom: 80px;
}
[purpose='testimonial-quote'] {
width: 380px;
@ -289,6 +289,81 @@
height: 641px;
}
}
[parasails-component='logo-carousel'] {
margin-bottom: 80px;
}
[purpose='calendar-section'] {
padding: 0px 64px 40px 64px;
margin-bottom: 80px;
max-width: 1200px;
margin-left: auto;
margin-right: auto;
}
[purpose='calendar-card-body'] {
width: 50%;
padding-left: 64px;
padding-bottom: 24px;
margin-right: 24px;
text-align: left;
h3 {
font-size: 32px;
line-height: 120%;
margin-bottom: 24px;
}
p {
max-width: 720px;
margin-bottom: 24px;
margin-top: 24px;
}
a {
margin-bottom: 6px;
padding-right: 24px;
}
}
[purpose='calendar-card'] {
border-radius: 24px;
border: 1px solid #E2E4EA;
background: linear-gradient(165deg, #F9FDFE 10.56%, #FFF 33.43%);
overflow: hidden;
height: 420px;
}
[purpose='coming-soon-badge'] {
background-color: #0587FF;
padding: 4px 8px 3px 8px;
display: flex;
align-items: center;
border-radius: 14px;
color: #FFF;
font-size: 12px;
font-weight: 500;
line-height: 18px;
text-transform: uppercase;
margin-bottom: 8px;
}
[purpose='calendar-image'] {
padding-top: 32px;
padding-bottom: 24px;
height: 420px;
width: 50%;
display: flex;
flex-direction: row;
overflow-x: hidden;
justify-content: center;
position: relative;
&:before {
position: absolute;
content: ' ';
width: 55px;
left: 0px;
top: 0px;
height: 420px;
background: linear-gradient(270deg, rgba(255, 255, 255, 0.00) 0%, #FFF 100%);
}
img {
height: 100%;
width: auto;
}
}
[purpose='feature'] {
margin-bottom: 180px;
@ -391,6 +466,9 @@
padding-left: 40px;
padding-right: 40px;
}
[purpose='calendar-section'] {
padding: 0px 40px 40px 40px;
}
[purpose='page-content'] {
max-width: 840px;
}
@ -449,6 +527,31 @@
margin-bottom: 24px;
}
}
[purpose='calendar-section'] {
padding: 0px 32px 40px 32px;
}
[purpose='calendar-card-body'] {
width: 100%;
padding-left: 24px;
padding-right: 24px;
padding-bottom: 48px;
padding-top: 60px;
margin-right: 0px;
text-align: center;
}
[purpose='calendar-card'] {
height: unset;
}
[purpose='calendar-image'] {
padding-top: 0;
padding-bottom: 0;
height: 420px;
width: 100%;
&:before {
content: '';
background: none;
}
}
[purpose='feature-text'] {
width: unset;
}
@ -469,9 +572,6 @@
[purpose='hero-image'] {
margin-bottom: 60px;
}
[purpose='testimonials'] {
margin-bottom: 120px;
}
[purpose='testimonial-videos'] {
margin-left: auto;
margin-right: auto;
@ -555,6 +655,9 @@
height: calc(~'9/16 * 95vw');
}
}
[purpose='calendar-section'] {
padding: 0px 24px 40px 24px;
}
}
@media (max-width: 472px) {
[purpose='testimonial-videos'] {
@ -604,6 +707,19 @@
[purpose='testimonial-quote'] {
margin-bottom: 40px;
}
[purpose='calendar-card-body'] {
padding-left: 16px;
padding-right: 16px;
h3 {
font-size: 24px;
}
}
[purpose='calendar-image'] {
height: 287px;
}
[purpose='calendar-section'] {
padding: 0px 16px 40px 16px;
}
[purpose='feature-image'] {
margin-bottom: 40px;
}

View file

@ -39,8 +39,14 @@
</div>
</div>
</div>
<logo-carousel></logo-carousel>
</div>
</div>
<% if(primaryBuyingSituation){%>
<%- partial('../partials/calendar-banner.partial.ejs') %>
<% } %>
<div purpose="page-container">
<div purpose="page-content" class="mx-auto">
<%/* Your last MDM migration section */%>
<div purpose="page-section">
<div purpose="feature" class="d-flex flex-md-row flex-column justify-content-between mx-auto align-items-center mb-0">

View file

@ -79,7 +79,14 @@
</div>
</div>
</div>
<logo-carousel></logo-carousel>
</div>
</div>
<% if(primaryBuyingSituation){%>
<%- partial('../partials/calendar-banner.partial.ejs') %>
<% } %>
<div purpose="page-container">
<div purpose="page-content" class="mx-auto">
<div purpose="feature-headline" class="mr-auto">
<h3>Pulse check anything</h3>
<p>Use a live connection to every endpoint to simplify audit, compliance, and reporting from workstations to data centers.</p>

View file

@ -1,53 +1,60 @@
<div id="vulnerability-management-page" v-cloak>
<div purpose="page-container">
<div purpose="page-content" class="mx-auto">
<div purpose="hero">
<div purpose="page-headline">
<h4>Vulnerability management</h4>
<h2>Build the vulnerability program you actually want</h2>
</div>
<div purpose="hero-content" class="d-flex flex-md-row flex-column align-items-center justify-content-between">
<div purpose="hero-image">
<img alt="An orb being scanned for vulnerabilities" src="/images/vuln-management-hero-image-345x380@2x.png">
<div purpose="hero">
<div purpose="page-headline">
<h4>Vulnerability management</h4>
<h2>Build the vulnerability program you actually want</h2>
</div>
<div purpose="hero-text">
<strong>Report what matters</strong>
<p>Let's face it, most built-in graphs leave you wanting more. Report MTTR and any other custom metrics exactly the way you want to using fresh data from real computers.</p>
<strong>Deep context from the environment</strong>
<p>Fleet gives you data down to the chip level on every endpoint to help you make sense of which vulnerabilities to prioritize.</p>
<strong>Untangle your security stack</strong>
<p>Use open data and APIs to connect your vulnerability solution with osquery, the agent you might already have deployed.</p>
<div purpose="button-row" class="d-flex flex-md-row flex-column justify-content-start align-items-center">
<a purpose="cta-button" href="/register">Start now</a>
<a purpose="animated-arrow-button-red" href="/contact">Talk to us</a>
<div purpose="hero-content" class="d-flex flex-md-row flex-column align-items-center justify-content-between">
<div purpose="hero-image">
<img alt="An orb being scanned for vulnerabilities" src="/images/vuln-management-hero-image-345x380@2x.png">
</div>
<div purpose="hero-text">
<strong>Report what matters</strong>
<p>Let's face it, most built-in graphs leave you wanting more. Report MTTR and any other custom metrics exactly the way you want to using fresh data from real computers.</p>
<strong>Deep context from the environment</strong>
<p>Fleet gives you data down to the chip level on every endpoint to help you make sense of which vulnerabilities to prioritize.</p>
<strong>Untangle your security stack</strong>
<p>Use open data and APIs to connect your vulnerability solution with osquery, the agent you might already have deployed.</p>
<div purpose="button-row" class="d-flex flex-md-row flex-column justify-content-start align-items-center">
<a purpose="cta-button" href="/register">Start now</a>
<a purpose="animated-arrow-button-red" href="/contact">Talk to us</a>
</div>
</div>
</div>
</div>
</div>
<div purpose="testimonials" class="d-flex flex-md-row flex-column align-items-center justify-content-between">
<div purpose="testimonial-quote">
<div purpose="quote">
<img alt="an opening quotation mark" style="width:20px; margin-bottom: 16px;" src="/images/icon-quote-21x17@2x.png">
<p>Fleet lets us be more actionable with fewer people. It helps us to filter out the noise better than we could with the other big name products we replaced.</p>
<div purpose="testimonials" class="d-flex flex-md-row flex-column align-items-center justify-content-between">
<div purpose="testimonial-quote">
<div purpose="quote">
<img alt="an opening quotation mark" style="width:20px; margin-bottom: 16px;" src="/images/icon-quote-21x17@2x.png">
<p>Fleet lets us be more actionable with fewer people. It helps us to filter out the noise better than we could with the other big name products we replaced.</p>
</div>
<div purpose="quote-attribution" class="d-flex flex-md-row flex-column align-items-center">
<div purpose="quote-image"><img src="/images/testimonial-andre-shields-48x48@2x.png" alt="Andre shields"></div>
<div class="d-flex flex-column">
<p purpose="name">Andre Shields</p>
<p purpose="title">Cybersecurity Security Engineer, Vulnerability Management</p>
</div>
</div>
</div>
<div purpose="quote-attribution" class="d-flex flex-md-row flex-column align-items-center">
<div purpose="quote-image"><img src="/images/testimonial-andre-shields-48x48@2x.png" alt="Andre shields"></div>
<div class="d-flex flex-column">
<p purpose="name">Andre Shields</p>
<p purpose="title">Cybersecurity Security Engineer, Vulnerability Management</p>
<div purpose="testimonial-videos" class="d-flex">
<div purpose="testimonial-video" @click="clickOpenVideoModal('austin-anderson')">
<span><img src="/images/icon-play-video-8x9@2x.png" alt="Play">Play video</span>
</div>
<div purpose="testimonial-video" @click="clickOpenVideoModal('andre-shields')">
<span><img src="/images/icon-play-video-8x9@2x.png" alt="Play">Play video</span>
</div>
</div>
</div>
<div purpose="testimonial-videos" class="d-flex">
<div purpose="testimonial-video" @click="clickOpenVideoModal('austin-anderson')">
<span><img src="/images/icon-play-video-8x9@2x.png" alt="Play">Play video</span>
</div>
<div purpose="testimonial-video" @click="clickOpenVideoModal('andre-shields')">
<span><img src="/images/icon-play-video-8x9@2x.png" alt="Play">Play video</span>
</div>
</div>
</div>
<logo-carousel></logo-carousel>
</div>
</div>
<% if(primaryBuyingSituation){%>
<%- partial('../partials/calendar-banner.partial.ejs') %>
<% } %>
<div purpose="page-container">
<div purpose="page-content" class="mx-auto">
<div purpose="feature" class="d-flex flex-md-row flex-column justify-content-between mx-auto align-items-center">
<div purpose="feature-image" class="right">
<img alt="Report what matters" src="/images/vuln-management-feature-image-5-380x312@2x.png">

View file

@ -0,0 +1,27 @@
<div purpose="calendar-section">
<div purpose="calendar-card" class="d-flex flex-md-row flex-column align-items-center">
<div purpose="calendar-card-body" class="d-flex flex-column align-items-md-start align-items-center">
<div purpose="coming-soon-badge">Coming soon</div>
<% if(!primaryBuyingSituation) {%>
<h3>Stop nudging</h3>
<p>Stop installing updates and forcing restarts when your users are busy using their computers. Fleet finds time in the calendar for a reboot and uses AI to explain why.</p>
<%} else if(['mdm', 'eo-it'].includes(primaryBuyingSituation)) {%>
<h3>Put IT in your calendar</h3>
<p>Install updates and force restarts when your users computers are actually free.</p>
<%} else if(['vm', 'eo-security'].includes(primaryBuyingSituation)) {%>
<h3>Tell employees why</h3>
<p>Use AI to explain why your security policies matter, and install required updates en masse without locking people out of meetings.</p>
<%}%>
<% if(me && me.primaryBuyingSituation) {%>
<a purpose="animated-arrow-button-red" href="https://kqphpqst851.typeform.com/to/WwAtAUdm#primarybuyingsituation=<%= encodeURIComponent(me.primaryBuyingSituation) %>" target="_blank">Let me know</a>
<% } else if(primaryBuyingSituation) {%>
<a purpose="animated-arrow-button-red" href="https://kqphpqst851.typeform.com/to/WwAtAUdm#primarybuyingsituation=<%= encodeURIComponent(primaryBuyingSituation) %>" target="_blank">Let me know</a>
<% } else {%>
<a purpose="animated-arrow-button-red" href="https://kqphpqst851.typeform.com/to/WwAtAUdm" target="_blank">Let me know</a>
<% } %>
</div>
<div purpose="calendar-image">
<img alt="Fleet in your calendar" src="/images/calendar-graphic-703x420@2x.png">
</div>
</div>
</div>