-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create customers page #594
Merged
travjenkins
merged 21 commits into
master
from
Brenosalv/feature/351-new-customers-page
Dec 17, 2024
Merged
Changes from 16 commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
0d97462
Add hero section
2d1a262
Add features customers to the hero section
f03c727
Add social image, title and meta description to the page
766d095
Fix featured customers section responsiveness to mobile devices
e006d18
Add case studies list section
2f329ed
Add Show more button below the list of case studies - not enough item…
cfc445c
Add testimonial carousel section
22abcf3
Add See How section sharing the same section with other pages
7cbc379
Last tweaks to the grid component
240547a
Reuse the grid component in the popular articles section
e3c33bd
Add link to customers on the header and footer menus
d79e36a
Fix path of the hero contact us link
c0538ea
Fix key prop of the card component
a1ba63c
Case study is a template, not a layout, so moving it to templates folder
ab6a085
Add breadcrumbs to customer case study page
b62c8a5
Refactor the customer page
0214ddc
Merge branch 'master' of https://github.com/estuary/marketing-site in…
ef27002
Replace case studies with success stories everywhere
e9bdd99
Add redirects to case study links
45955c9
Replace case studies with success stories everywhere - missing parts
4fb0432
Fix the background color of the success story body section
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
This file was deleted.
Oops, something went wrong.
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
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 |
---|---|---|
|
@@ -18,6 +18,7 @@ | |
text-align: center; | ||
font-size: 16pt; | ||
font-weight: 600; | ||
margin-bottom: auto; | ||
} | ||
|
||
.blogsPostCard { | ||
|
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
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
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,76 @@ | ||
import React, { useState } from 'react'; | ||
import { graphql, useStaticQuery } from 'gatsby'; | ||
import { defaultWrapperGrey } from '../../../globalStyles/wrappers.module.less'; | ||
import Container from '../../Container'; | ||
import Grid from '../../Grid'; | ||
import Card from '../../Grid/Card'; | ||
import ButtonFilled from '../../LinksAndButtons/ButtonFilled'; | ||
import { sectionTitle } from '../styles.module.less'; | ||
|
||
const CaseStudies = () => { | ||
const { | ||
allStrapiCaseStudy: { nodes: caseStudies }, | ||
} = useStaticQuery(graphql` | ||
query GetCaseStudies { | ||
allStrapiCaseStudy { | ||
nodes { | ||
title: Title | ||
description: Description | ||
slug: Slug | ||
id | ||
hero: Logo { | ||
alternativeText | ||
localFile { | ||
childImageSharp { | ||
gatsbyImageData( | ||
quality: 100 | ||
placeholder: BLURRED | ||
height: 172 | ||
layout: FULL_WIDTH | ||
) | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
`); | ||
|
||
const caseStudiesWithPrefixedSlugs = caseStudies.map((post) => ({ | ||
...post, | ||
slug: `customers/${post.slug}/`, | ||
})); | ||
|
||
const [visiblePosts, setVisiblePosts] = useState(9); | ||
|
||
const handleShowMore = () => { | ||
setVisiblePosts((prevVisiblePosts) => prevVisiblePosts + 9); | ||
}; | ||
|
||
return ( | ||
<section className={defaultWrapperGrey}> | ||
<Container isVertical> | ||
<h2 className={sectionTitle}>CASE STUDIES</h2> | ||
<Grid> | ||
{caseStudiesWithPrefixedSlugs | ||
.slice(0, visiblePosts) | ||
.map((caseStudy) => ( | ||
<Card | ||
key={caseStudy.id} | ||
data={caseStudy} | ||
footerTag="Case study" | ||
hasImgBackground | ||
/> | ||
))} | ||
</Grid> | ||
{visiblePosts < caseStudiesWithPrefixedSlugs.length ? ( | ||
<ButtonFilled onClick={handleShowMore}> | ||
Show more | ||
</ButtonFilled> | ||
) : null} | ||
</Container> | ||
</section> | ||
); | ||
}; | ||
|
||
export default CaseStudies; |
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,110 @@ | ||
import React from 'react'; | ||
import { StaticImage } from 'gatsby-plugin-image'; | ||
import { IStaticImageProps } from 'gatsby-plugin-image/dist/src/components/static-image.server'; | ||
import Container from '../../Container'; | ||
import HeroSectionDetails from '../../HeroSectionDetails'; | ||
import ContactUsCta from '../../HeroSectionActions/ContactUsCta'; | ||
import { wrapper } from './styles.module.less'; | ||
|
||
const commonProps: Partial<IStaticImageProps> = { | ||
placeholder: 'blurred', | ||
loading: 'eager', | ||
}; | ||
|
||
const Hero = () => ( | ||
<section className={wrapper}> | ||
<Container> | ||
<HeroSectionDetails | ||
title={ | ||
<> | ||
ESTUARY FLOW <span>POWERS ORGANIZATIONS WORLDWIDE</span> | ||
</> | ||
} | ||
description="See how our customers build with Estuary Flow to solve their challanges." | ||
ctaButtons={<ContactUsCta linkVariant="filled" />} | ||
/> | ||
<StaticImage | ||
src="../../../images/customers-page/hero-image.png" | ||
alt="Estuary - ETL tool" | ||
quality={100} | ||
placeholder="blurred" | ||
loading="eager" | ||
/> | ||
</Container> | ||
<h2>FEATURED CUSTOMERS</h2> | ||
<ul> | ||
<li key="coalesce"> | ||
<StaticImage | ||
src="../../../images/customer-logos/coalesce.png" | ||
alt="Coalesce logo" | ||
{...commonProps} | ||
/> | ||
</li> | ||
<li key="flashpack"> | ||
<StaticImage | ||
src="../../../images/customer-logos/flashpack.svg" | ||
alt="Flash Pack logo" | ||
{...commonProps} | ||
/> | ||
</li> | ||
<li key="shp"> | ||
<StaticImage | ||
src="../../../images/customer-logos/shp.svg" | ||
alt="SHP logo" | ||
{...commonProps} | ||
/> | ||
</li> | ||
<li key="fenestra"> | ||
<StaticImage | ||
src="../../../images/customer-logos/fenestra.png" | ||
alt="Fenestra logo" | ||
{...commonProps} | ||
/> | ||
</li> | ||
<li key="deep-sync"> | ||
<StaticImage | ||
src="../../../images/customer-logos/deep-sync.png" | ||
alt="Deep Sync logo" | ||
{...commonProps} | ||
/> | ||
</li> | ||
<li key="excess-telecom"> | ||
<StaticImage | ||
src="../../../images/customer-logos/excess-telecom.png" | ||
alt="Excess Telecom logo" | ||
{...commonProps} | ||
/> | ||
</li> | ||
<li key="flock-freight"> | ||
<StaticImage | ||
src="../../../images/customer-logos/flock-freight.png" | ||
alt="Flock Freight logo" | ||
{...commonProps} | ||
/> | ||
</li> | ||
<li key="launch-metrics"> | ||
<StaticImage | ||
src="../../../images/customer-logos/launch-metrics.png" | ||
alt="Launch Metrics logo" | ||
{...commonProps} | ||
/> | ||
</li> | ||
<li key="chili-piper"> | ||
<StaticImage | ||
src="../../../images/customer-logos/chili-piper.png" | ||
alt="Chili Piper logo" | ||
{...commonProps} | ||
/> | ||
</li> | ||
<li key="revunit"> | ||
<StaticImage | ||
src="../../../images/customer-logos/revunit.png" | ||
alt="Revunit logo" | ||
{...commonProps} | ||
/> | ||
</li> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's repeating because, as we know, the StaticImage does not accept dynamic values. Creating a component would pass the src as prop and it would not work - so just explaining. |
||
</ul> | ||
</section> | ||
); | ||
|
||
export default Hero; |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’m considering using a ‘Show more’ button, similar to what we have on the author page, since there are currently only a few case studies. Implementing pagination with multiple pages at this stage would unnecessarily duplicate content across sections. Once we have a larger number of case studies, I’d consider adding proper pagination with ‘Previous’ and ‘Next’ buttons, like we do on the blog page. If you have any objection to this, please let me know.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree we should not worry about this right now as we don't have too many. We could also just not use pagination and list them all the time like Connectors page does.