Files
supabase/apps/www/pages/vector/Vector.tsx
T
Francesco Sansalvadore 3b11b9e1d7 update functions page (#22111)
* add products pag subnav

* functions page first sections

* new functions page sections

* functions dx section images

* functions hero layout setup

* functions page hero animation

* final cta

* revisit functions page structure

* functions realtime logs animation

* functions query logs animation

* function metrics chart

* finish edge functions hero animation

* finish edge functions metrics graph

* update products cta section

* edge functions page code cleanup

* restore Panel

* restore code block bg

* pause timed sections when not in view to optimize perf

* create new code window component and add functions code snippets

* finish edge functions

* update functions page

* improve animation timing in functions page

* fix type error

* clean up functions page code

* update swiper and fix hydration errors

* fix swiper module import

* fix swiper css import

* image bg

* edge functions page details fix

* fix scroll bug

* edge functions page

* finalize edge functions page

* add anchors and improve semantics

* remove double prop

* add links to docs

* add link to edge runtime

* fix timed panel progress bar retrigger

* fix timed accordion progress bar retrigger
2024-04-10 11:51:26 +02:00

73 lines
3.1 KiB
TypeScript

import 'swiper/css'
import { NextSeo } from 'next-seo'
import dynamic from 'next/dynamic'
import { useRouter } from 'next/router'
import DefaultLayout from '~/components/Layouts/Default'
import { useBreakpoint } from 'common'
import { PRODUCT_SHORTNAMES } from '~/lib/constants'
import vectorPageData from '~/data/products/vector/pageData'
import ProductsNav from '~/components/Products/ProductsNav'
import { PRODUCT_NAMES } from 'shared-data/products'
const ProductHeaderCentered = dynamic(() => import('~/components/Sections/ProductHeaderCentered'))
const HighlightCards = dynamic(() => import('~/components/Sections/HighlightCards'))
const FeaturesSection = dynamic(() => import('~/components/Sections/FeaturesSection'))
const UseCasesSection = dynamic(() => import('~/components/Sections/UseCasesSection'))
const CenteredTitleImage = dynamic(() => import('~/components/Sections/CenteredTitleImage'))
const CustomerQuotesSection = dynamic(() => import('~/components/Sections/CustomerQuotesSection'))
const TimedTabsSection = dynamic(() => import('~/components/Sections/TimedTabsSection'))
const ProductsCta = dynamic(() => import('~/components/Sections/ProductsCta'))
const EnterpriseCta = dynamic(() => import('~/components/Sections/EnterpriseCta'))
function VectorPage() {
// base path for images
const isXs = useBreakpoint(640)
const { basePath } = useRouter()
const meta_title = 'Supabase Vector | The Postgres Vector database.'
const meta_description =
'An open source Vector database for developing AI applications. Use pgvector to store, index, and access embeddings, and our AI toolkit to build AI applications with Hugging Face and OpenAI.'
const pageData = vectorPageData(isXs)
return (
<>
<NextSeo
title={meta_title}
description={meta_description}
openGraph={{
title: meta_title,
description: meta_description,
url: `https://supabase.com/vector`,
images: [
{
url: `https://supabase.com${basePath}/images/product/vector/og.png`,
},
],
}}
/>
<DefaultLayout className="!bg-alternative">
<ProductsNav activePage={PRODUCT_NAMES.VECTOR} />
<ProductHeaderCentered {...pageData.heroSection} />
<HighlightCards {...(pageData.highlightsSection as any)} />
<CenteredTitleImage {...pageData.integrations} />
<TimedTabsSection {...pageData.APIsection} />
<div className="bg-alternative">
<UseCasesSection {...pageData.useCasesSection} />
<FeaturesSection {...pageData.featuresSection} />
</div>
<CustomerQuotesSection {...pageData.quotesSection} />
<div className="bg-gradient-to-t from-alternative to-transparent">
<EnterpriseCta />
</div>
<div className="bg-background">
<div className="w-full h-[1px] bg-gradient-to-r from-background-alternative via-border to-background-alternative" />
<ProductsCta currentProduct={PRODUCT_SHORTNAMES.VECTOR} />
</div>
</DefaultLayout>
</>
)
}
export default VectorPage