Pamela Bortnick d420015c3c
[Assembly] Consul on Kubernetes Page (#11047)
* Start new page

* reset

* Consul on Kubernetes - Features List Section (#11078)

* Fix conflicts

* Start adding and placing content

* Add a lot of styling and background image

* Looking like design. Before adding more global styles

* Work on editing styles

* Move imports and switch to flex

* Add more styles and bottom left background image

* Fix conflicts

* Fix styles on mobile

* Change images path in public

* Updates from code review - Move data and update styles

* Convert to tsx and add types

* Change button props to get desired styling without using css

* Remove margin on mobile

* Consul On Kubernetes - Hero (#11089)

* Start hero section

* Increase max sizes for container

* Minor Edits

* Use g-grid-container

* Edit video styles and test

* Rename component

* Start moving global styles over

* Move hero styles to locl

* Remove composes g-hero

* Fix flex basis on media

* Add display flex to media

* Clean up some styles

* Consul On Kubernetes - Block List (#11114)

* Start block list

* Enter data and start styles

* Get all images in and update styles

* Move data and convert to ts

* Add comment in page

* Consul On Kubernetes - Side by Side Section (#11122)

* Start block list

* Enter data and start styles

* Get all images in and update styles

* Start side by side

* Add content and more styles

* Some more styles

* Add styles for text and titles

* Edit styles and clean

* Fix spacing between button and text in overview

* Delete public folder

* Fix images in block on page

* remove extra file

* Fix classnames import

* Use fragment

* Consul On Kubernetes - Docs List Component (#11150)

* Add docs list component

* Add docs list content

* Change type declaration

* Remove unecessary style

* Use fragment

* Change icons

* Consul On Kubernetes - Card List & Get Started Section  (#11168)

* Start card list component

* Begin adding content

* Start wrapper styles

* Add more styles for card

* Fix style

* Edit styles

* Use next Link

* Add minor formatting

* Make entire card a link

* Add transition

* Change import

* Use svg instead of button and  make target blank

* Move wrapper div to component and add classname prop, use color variable for border

* Change min of card in grid

* Less pxels for min

* Update copy

* Consul on Kubernetes Content (#11179)

* Add content so far

* Add hero content and switch video to embed - needs editing

* Add overview and docs links

* Use iframe in hero and style

* Remove = null on prop

* Add learn tutorials content so far

* Change learn tutorials content

* Change placeholder learn content

* Add requested copy updates

* Align numbers

* Consul on Kubernetes Content & Design Updates (#11217)

* Update docs icons

* Update learn cards

* Update challenges icon

* Video poster pending

* New image

* Add split up background images

* Looking pretty good

* Fix up background image

* Add more styles

* Add meta description and new feature images

* Revert img change

* Fix up images and replace poster

* Switch to grid

* Move images

* Clean up styles

* Change hero button text

* Update styles for hero video

* Update youtube url

* Use gray variable

* Consul on Kubernetes Metadata (#11219)

* Add meta data for sharing

* Test

* Test 2

* Add meta title

* Update share image

* CHange name

* Test

* Test again

* Use relative url

* Swap urls for hero ctas

* Update tutorial card to be uniform

* Change overview button text

* Resolve conflicts and fix dependencies
2021-10-08 15:50:36 -04:00

99 lines
2.6 KiB
TypeScript

import Button from '@hashicorp/react-button'
import ReactPlayer from 'react-player'
import s from './style.module.css'
interface Cta {
url: string
text: string
}
interface ConsulOnKubernetesHeroProps {
title: string
description: string
ctas: Cta[]
video: {
src: string
poster: string
}
}
export default function ConsulOnKubernetesHero({
title,
description,
ctas,
video,
}: ConsulOnKubernetesHeroProps) {
return (
<div className={s.ckHero}>
<div className={s.contentWrapper}>
<div className={s.headline}>
<h1 className={s.title}>{title}</h1>
<p className={s.description}>{description}</p>
<div className={s.buttons}>
{ctas.map(({ text, url }, idx) => (
<Button
key={text}
theme={{
brand: 'consul',
variant: idx === 0 ? 'primary' : 'tertiary-neutral',
background: 'dark',
}}
linkType={idx === 0 ? null : 'inbound'}
url={url}
title={text}
className={s.button}
/>
))}
</div>
</div>
<div className={s.media}>
<img
src={require('./images/bg-top.svg')}
alt="background top"
className={s.bgTop}
/>
<img
src={require('./images/bg-right.svg')}
alt="background right"
className={s.bgRight}
/>
<img
src={require('./images/bg-dots.svg')}
alt="background bottom"
className={s.bgBottom}
/>
<img
src={require('./images/bg-dots.svg')}
alt="background left"
className={s.bgLeft}
/>
<div className={s.video}>
<ReactPlayer
playing
light={video.poster}
url={video.src}
width="100%"
height="100%"
controls
className={s.player}
playIcon={
<svg
aria-label="Play video"
width="72"
height="72"
viewBox="0 0 72 72"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<rect width="72" height="72" rx="36" fill="#F85C94" />
<path d="M56 36L26 53.3205L26 18.6795L56 36Z" fill="white" />
</svg>
}
/>
</div>
</div>
</div>
</div>
)
}