927f46d5d7
* homepage setup * [Homepage] `<IoHomeHero />` component (#13160) * init <Hero /> component * adds loading animation * updates variable naming * makes index optional * Update hero-pattern.svg * prefix with IoHome * updates usage * [Homepage] `<IoHomePreFooter />` component (#13182) * adds <IoHomePreFooter /> * adds interfaces * [Homepage] `<IoHomeHero />` component (#13160) * init <Hero /> component * adds loading animation * updates variable naming * makes index optional * Update hero-pattern.svg * prefix with IoHome * updates usage * adds <IoHomePreFooter /> * adds interfaces * adds key * [Homepage] `<IoHomeCallToAction />` component (#13164) * adding brand to cta * cleanup homepage * [Homepage] `<IoHomeVideo />` component (#13161) * init <Video /> component * adjusts sizing and border radius * responsive styling * fix hover svg gitter * adjust play icon sizing * include temp thumbnail * dialog implementation * conditionally display person and show helpers * rename component * updates dialog naming * add homepage styling * simplify background color * page level styling * [Homepage] `<IoHomeCaseStudies />` (#13190) * adds <IoHomeCaseStudies /> * adds interface * animate gradient * update min-heights * Homepage `<IoHomeCard />` component (#13151) * init <Card /> component * fixes heading color * adds product logos and hover styles * update naming * simplifies inset spacing * use ternary and add key * removes repo link * removes need for camelCase package * adds keys * adds in practice cards * adds in practice background * use case cards * update min col sizing * adds feature component (#13203) * fixes card hover bug * [Homepage] connect homepage to dato content (#13227) * connect homepage to dato * Check for internal link * fix return types * adds youtube video * hook up meta tags and chunk cards * removes chunking * fix ts return * fix prop naming * fix return type * mobile sizing adjustments * [Homepage] Usecase pages (#13240) * init usecase page * updates use case call to action * card container component * themeing * convert to using strictly props * responsive spacing * reworking sections component * adds callout and hero patterns * adds priority * makes feature link optional * [Homepage] connect use case template to dato (#13295) * Start connecting to dato * Fix spacing when no video is present * Remove log * adds images * hook up cards * pass eyebrow and products * Delete index.tsx * Use card container on homepage * use react video player * [Homepage] fix mobile video (#13309) * Removing attributes * update url * spacing adjustments * Allow previewing draft content (#13312) * fix heading width * fix feature max width * adjust in practice padding * increase icon sizing * adjust icon alignment * update eyebrow * update hero pattern * update usecase hero pattern * add hover scale * [Homepage] populate use case dropdown from use case pages (#13325) * create standard layout * removes unused subnav data * removes static use case pages * removes use cases style * bump subnav and use hashicorp vault logo * fixes use cases paths * removes hashistack menu * removes subnav top border * conditionally render video callout avatar * hook up data and conditionals * update components to work with other products * extract in practice section for reuse * use Products type * fix type error * rework cta logic * removes type * updates accent method * fix button prop * refactor customer case study * refactor case studies component * cleanup margin * refactor data props * Spacing updates and introduce intro component * adds intro interface * Delete style.css * fix intro description color * add revalidate code to homepage * bump subnav * make stats optional * adjust border radius based on customer story * cleanup temp files * redirect /home to homepage * reorder resources * fix: move heading and description * fix: logo alignment * fix: section background color * feat: optional tutorial and docs links * fix: removes case studies background * formatting * feat: sort use cases in nav * fix: card overflow (#13429) * fix: adjust overflow method * fix: padding on desktop * fix: scroll padding-right on mobile * remove debugger * increase last item width * card container overflow method (#13434) * use flex * formatting * add comment
85 lines
3 KiB
JavaScript
85 lines
3 KiB
JavaScript
import './style.css'
|
|
import '@hashicorp/platform-util/nprogress/style.css'
|
|
|
|
import Router from 'next/router'
|
|
import Head from 'next/head'
|
|
import rivetQuery from '@hashicorp/nextjs-scripts/dato/client'
|
|
import { ErrorBoundary } from '@hashicorp/platform-runtime-error-monitoring'
|
|
import createConsentManager from '@hashicorp/react-consent-manager/loader'
|
|
import NProgress from '@hashicorp/platform-util/nprogress'
|
|
import useFathomAnalytics from '@hashicorp/platform-analytics'
|
|
import useAnchorLinkAnalytics from '@hashicorp/platform-util/anchor-link-analytics'
|
|
import HashiHead from '@hashicorp/react-head'
|
|
import Error from './_error'
|
|
import AlertBanner from '@hashicorp/react-alert-banner'
|
|
import alertBannerData, { ALERT_BANNER_ACTIVE } from '../data/alert-banner'
|
|
import StandardLayout from 'layouts/standard'
|
|
|
|
NProgress({ Router })
|
|
const { ConsentManager } = createConsentManager({
|
|
preset: 'oss',
|
|
})
|
|
|
|
export default function App({ Component, pageProps, layoutData }) {
|
|
useFathomAnalytics()
|
|
useAnchorLinkAnalytics()
|
|
|
|
const Layout = Component.layout ?? StandardLayout
|
|
|
|
return (
|
|
<ErrorBoundary FallbackComponent={Error}>
|
|
<HashiHead
|
|
is={Head}
|
|
title="Vault by HashiCorp"
|
|
siteName="Vault by HashiCorp"
|
|
description="Vault secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets in modern computing. Vault handles leasing, key revocation, key rolling, auditing, and provides secrets as a service through a unified API."
|
|
image="https://www.vaultproject.io/img/og-image.png"
|
|
icon={[
|
|
{
|
|
href: 'https://www.datocms-assets.com/2885/1597163356-vault-favicon.png?h=16&w=16',
|
|
type: 'image/png',
|
|
sizes: '16x16',
|
|
},
|
|
{
|
|
href: 'https://www.datocms-assets.com/2885/1597163356-vault-favicon.png?h=32&w=32',
|
|
type: 'image/png',
|
|
sizes: '32x32',
|
|
},
|
|
{
|
|
href: 'https://www.datocms-assets.com/2885/1597163356-vault-favicon.png?h=96&w=96',
|
|
type: 'image/png',
|
|
sizes: '96x96',
|
|
},
|
|
{
|
|
href: 'https://www.datocms-assets.com/2885/1597163356-vault-favicon.png?h=192&w=192',
|
|
type: 'image/png',
|
|
sizes: '192x192',
|
|
},
|
|
]}
|
|
/>
|
|
{ALERT_BANNER_ACTIVE && (
|
|
<AlertBanner {...alertBannerData} product="vault" hideOnMobile />
|
|
)}
|
|
<Layout {...(layoutData && { data: layoutData })}>
|
|
<Component {...pageProps} />
|
|
</Layout>
|
|
<ConsentManager className="g-consent-manager" />
|
|
</ErrorBoundary>
|
|
)
|
|
}
|
|
|
|
App.getInitialProps = async ({ Component, ctx }) => {
|
|
const layoutQuery = Component.layout
|
|
? Component.layout?.rivetParams ?? null
|
|
: StandardLayout.rivetParams
|
|
|
|
const layoutData = layoutQuery ? await rivetQuery(layoutQuery) : null
|
|
|
|
let pageProps = {}
|
|
|
|
if (Component.getInitialProps) {
|
|
pageProps = await Component.getInitialProps(ctx)
|
|
}
|
|
return { pageProps, layoutData }
|
|
}
|