Skip to content

Commit 0b0b308

Browse files
authored
Add new landing hero and assets (#57450)
1 parent 060ccba commit 0b0b308

File tree

18 files changed

+353
-206
lines changed

18 files changed

+353
-206
lines changed
188 KB
Loading
212 KB
Loading
167 KB
Loading
196 KB
Loading
207 KB
Loading
198 KB
Loading

src/frame/lib/frontmatter.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,10 @@ export const schema = {
202202
product_video_transcript: {
203203
type: 'string',
204204
},
205+
// Hero image for landing pages
206+
heroImage: {
207+
type: 'string',
208+
},
205209
interactive: {
206210
type: 'boolean',
207211
},

src/landings/components/ProductLandingContext.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export type ProductLandingContextT = {
3939
introLinks: Record<string, string> | null
4040
productVideo: string
4141
productVideoTranscript: string
42+
heroImage?: string
4243
featuredLinks: Record<string, Array<FeaturedLink>>
4344
productUserExamples: Array<{ username: string; description: string }>
4445
productCommunityExamples: Array<{ repo: string; description: string }>
@@ -113,6 +114,7 @@ export const getProductLandingContextFromRequest = async (
113114
...pick(page, ['introPlainText', 'beta_product', 'intro']),
114115
productVideo,
115116
productVideoTranscript: page.product_video_transcript || null,
117+
heroImage: page.heroImage || null,
116118
hasGuidesPage,
117119
product: {
118120
href: productTree.href,

src/landings/components/bespoke/BespokeLanding.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import { useMemo } from 'react'
22

33
import { DefaultLayout } from '@/frame/components/DefaultLayout'
4-
import { useBespokeContext } from '@/landings/context/BespokeContext'
4+
import { useLandingContext } from '@/landings/context/LandingContext'
55
import { LandingHero } from '@/landings/components/shared/LandingHero'
66
import { ArticleGrid } from '@/landings/components/shared/LandingArticleGridWithFilter'
77

88
import type { ArticleCardItems } from '@/landings/types'
99

1010
export const BespokeLanding = () => {
11-
const { title, intro, tocItems } = useBespokeContext()
11+
const { title, intro, heroImage, introLinks, tocItems } = useLandingContext()
1212

1313
const flatArticles: ArticleCardItems = useMemo(
1414
() => tocItems.flatMap((item) => item.childTocItems || []),
@@ -18,7 +18,7 @@ export const BespokeLanding = () => {
1818
return (
1919
<DefaultLayout>
2020
<div data-search="article-body">
21-
<LandingHero title={title} intro={intro} />
21+
<LandingHero title={title} intro={intro} heroImage={heroImage} introLinks={introLinks} />
2222

2323
<div data-search="hide">
2424
<ArticleGrid flatArticles={flatArticles} />

src/landings/components/discovery/DiscoveryLanding.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import { useMemo } from 'react'
22

33
import { DefaultLayout } from '@/frame/components/DefaultLayout'
4-
import { useDiscoveryContext } from '@/landings/context/DiscoveryContext'
4+
import { useLandingContext } from '@/landings/context/LandingContext'
55
import { LandingHero } from '@/landings/components/shared/LandingHero'
66
import { ArticleGrid } from '@/landings/components/shared/LandingArticleGridWithFilter'
77
import { LandingCarousel } from '@/landings/components/shared/LandingCarousel'
88

99
import type { ArticleCardItems } from '@/landings/types'
1010

1111
export const DiscoveryLanding = () => {
12-
const { title, intro, tocItems, recommended } = useDiscoveryContext()
12+
const { title, intro, heroImage, introLinks, tocItems, recommended } = useLandingContext()
1313

1414
const flatArticles: ArticleCardItems = useMemo(
1515
() => tocItems.flatMap((item) => item.childTocItems || []),
@@ -19,7 +19,7 @@ export const DiscoveryLanding = () => {
1919
return (
2020
<DefaultLayout>
2121
<div>
22-
<LandingHero title={title} intro={intro} />
22+
<LandingHero title={title} intro={intro} heroImage={heroImage} introLinks={introLinks} />
2323
<LandingCarousel flatArticles={flatArticles} recommended={recommended} />
2424
<ArticleGrid flatArticles={flatArticles} />
2525
</div>

0 commit comments

Comments
 (0)