This is the code for the landing page for https://schemavaults.com. It's in its own package so it can be developed in isolation from actual functionality.
# first install dependencies with `bun install`
bun run dev
Build the @schemavaults/marketing-landing-page
package:
# first install dependencies with `bun install`
bun run build
In the consuming app (e.g. @schemavaults/web
), wrap the page component (which is the default export or MarketingLandingPage
):
"use client";
import type { ReactElement, PropsWithChildren } from "react"
import { JoinMailingListSubmitFunctionContext } from "@schemavaults/marketing-landing-page"
export default function Layout({ children }: PropsWithChildren): ReactElement {
return (
<JoinMailingListSubmitFunctionContext.Provider value={async (email: string): void => {
// submitJoinMailingListApiRequest().then(() => ...)
}}>
{ children }
</JoinMailingListSubmitFunctionContext.Provider>
)
}
Generate TailwindCSS styles for this package using the @schemavaults/theme
package in the consuming app.
The <MarketingLandingPage />
component must be wrapped in