Files
Hanzo AI b827b3a7bd rebrand: Papermark → Hanzo Dataroom across user-facing surfaces
108 files: README, marketing copy, page titles, meta tags, footer
text, email templates, .env.example, UI strings. URLs swapped
from papermark.com/papermark.io to dataroom.hanzo.ai.

Internal identifiers left intact per repo policy: localStorage
keys (papermark.email/papermark.name/last_papermark_login —
changing them logs users out), type field names
(papermarkUserId), internal helper symbols (PAPERMARK_HEADERS,
PapermarkSparkle component, isPapermarkUrl helper),
internal-only filenames. LLM.md retains 'Upstream: Papermark'
attribution line. Per-locale .po translations regenerate from
source on the next lingui-extract CI run.

DB migrations untouched (append-only history; rewriting them
breaks installed schemas). LICENSE stays AGPL-3.0.
2026-06-07 12:23:40 -07:00

98 lines
3.4 KiB
TypeScript

import type { AppProps } from "next/app";
import { Inter } from "next/font/google";
import Head from "next/head";
import { TeamProvider } from "@/context/team-context";
import type { Session } from "next-auth";
import { SessionProvider } from "next-auth/react";
import { NuqsAdapter } from "nuqs/adapters/next/pages";
import { EXCLUDED_PATHS } from "@/lib/constants";
import { InsightsCustomProvider } from "@/components/providers/insights-provider";
import { DealflowPopup } from "@/components/shared/dealflow-popup";
import { ThemeProvider } from "@/components/theme-provider";
import { Toaster } from "@/components/ui/sonner";
import { TooltipProvider } from "@/components/ui/tooltip";
import "@/styles/globals.css";
const inter = Inter({ subsets: ["latin"] });
export default function App({
Component,
pageProps: { session, ...pageProps },
router,
}: AppProps<{ session: Session }>) {
return (
<>
<Head>
<title>Hanzo Dataroom | The Open Source DocSend Alternative</title>
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Hanzo Dataroom is an open-source document sharing alternative to DocSend with built-in analytics."
key="description"
/>
<meta
property="og:title"
content="Hanzo Dataroom | The Open Source DocSend Alternative"
key="og-title"
/>
<meta
property="og:description"
content="Hanzo Dataroom is an open-source document sharing alternative to DocSend with built-in analytics."
key="og-description"
/>
<meta
property="og:image"
content="https://dataroom.hanzo.ai/_static/meta-image.png"
key="og-image"
/>
<meta
property="og:url"
content="https://dataroom.hanzo.ai"
key="og-url"
/>
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@hanzoai" />
<meta name="twitter:creator" content="@hanzoai" />
<meta name="twitter:title" content="Hanzo Dataroom" key="tw-title" />
<meta
name="twitter:description"
content="Hanzo Dataroom is an open-source document sharing alternative to DocSend with built-in analytics."
key="tw-description"
/>
<meta
name="twitter:image"
content="https://dataroom.hanzo.ai/_static/meta-image.png"
key="tw-image"
/>
<link rel="icon" href="/favicon.ico" key="favicon" />
</Head>
<SessionProvider session={session}>
<InsightsCustomProvider>
<ThemeProvider attribute="class" defaultTheme="light" enableSystem>
<NuqsAdapter>
<main className={inter.className}>
<Toaster closeButton />
<TooltipProvider delayDuration={100}>
{EXCLUDED_PATHS.includes(router.pathname) ? (
<Component {...pageProps} />
) : (
<TeamProvider>
<Component {...pageProps} />
<DealflowPopup />
</TeamProvider>
)}
</TooltipProvider>
</main>
</NuqsAdapter>
</ThemeProvider>
</InsightsCustomProvider>
</SessionProvider>
</>
);
}