diff --git a/apps/web/app/[locale]/landing.tsx b/apps/web/app/[locale]/landing.tsx
new file mode 100644
index 0000000..32a7936
--- /dev/null
+++ b/apps/web/app/[locale]/landing.tsx
@@ -0,0 +1,220 @@
+"use client";
+
+import { Link } from "@/i18n/navigation";
+import { Logo } from "@/components/logo";
+import { Navbar } from "@/components/navbar";
+import { HeroVisual } from "@/components/hero";
+import { TerminalVisual } from "@/components/terminal";
+import type { Session } from "@/lib/auth";
+
+interface Props {
+ session: Session | null;
+}
+
+export function Landing({ session }: Props) {
+ return (
+
+
+
+
+
+
+
+
+
+ The new standard in privacy
+
+
+
+ Quietly secure your
digital secrets.
+
+
+
+ End-to-end encrypted sharing that leaves no trace.
+
+ Designed for developers who value silence.
+
+
+
+
+ Start Sharing
+
+
+ or npm i -g noro
+
+
+
+
+
+
+
+
+
+
+
+
+
Zero Knowledge
+
+ Your secrets are encrypted client-side using AES-256-GCM before they ever leave your device.
+
+
+
+
+
+
+
+
+
+
+
+
+ ENCRYPTING...
+
+
+
+
+
+
+
+
+
Granular Control
+
+ Set precise expiration times and view limits. Secrets self-destruct automatically.
+
+
+
+
+
+
+
+
+
+
+ 1 Hour
+ TTL
+
+
+ 1 Day
+ Default
+
+
+ 1 Week
+ TTL
+
+
+
+ 1 View
+ Limit
+
+
+
+
+
+
+
+
+
+
Developer Native
+
+ Integrate directly into your workflow. Pipe secrets from your terminal or use our SDK.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Seamless
integration.
+
+
+ Noro lives where you work. Whether it's the command line, your browser, or your desktop.
+
+
+ {[
+ "Works with any environment variable file (.env)",
+ "Instant clipboard encryption",
+ "Secure file transfer up to 5MB"
+ ].map((feature) => (
+ -
+
+ {feature}
+
+ ))}
+
+
+
+
+
+
+ CLI
+
Terminal
+
+
+ API
+
SDK
+
+
+
+
+ GUI
+
Desktop
+
+
+ WEB
+
Extension
+
+
+
+
+
+
+
+
+
+
+ Leave no trace.
+
+
+ Start sharing securely →
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/web/app/[locale]/page.tsx b/apps/web/app/[locale]/page.tsx
index 0184d18..b7c98d8 100644
--- a/apps/web/app/[locale]/page.tsx
+++ b/apps/web/app/[locale]/page.tsx
@@ -1,235 +1,10 @@
-"use client";
-
-import { Link } from "@/i18n/navigation";
-import { Logo } from "@/components/logo";
-import { HeroVisual } from "@/components/hero";
-import { TerminalVisual } from "@/components/terminal";
-import { useSession } from "@/lib/client";
-
-export default function Home() {
- const { data: session, isPending } = useSession();
- return (
-
-
-
-
-
-
-
-
-
- The new standard in privacy
-
-
-
- Quietly secure your
digital secrets.
-
-
-
- End-to-end encrypted sharing that leaves no trace.
-
- Designed for developers who value silence.
-
-
-
-
- Start Sharing
-
-
- or npm i -g noro
-
-
-
-
-
-
-
-
-
-
-
-
-
Zero Knowledge
-
- Your secrets are encrypted client-side using AES-256-GCM before they ever leave your device.
-
-
-
-
-
-
-
-
-
-
-
-
- ENCRYPTING...
-
-
-
-
-
-
-
-
-
Granular Control
-
- Set precise expiration times and view limits. Secrets self-destruct automatically.
-
-
-
-
-
-
-
-
-
-
- 1 Hour
- TTL
-
-
- 1 Day
- Default
-
-
- 1 Week
- TTL
-
-
-
- 1 View
- Limit
-
-
-
-
-
-
-
-
-
-
Developer Native
-
- Integrate directly into your workflow. Pipe secrets from your terminal or use our SDK.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Seamless
integration.
-
-
- Noro lives where you work. Whether it's the command line, your browser, or your desktop.
-
-
- {[
- "Works with any environment variable file (.env)",
- "Instant clipboard encryption",
- "Secure file transfer up to 5MB"
- ].map((feature) => (
- -
-
- {feature}
-
- ))}
-
-
-
-
-
-
- CLI
-
Terminal
-
-
- API
-
SDK
-
-
-
-
- GUI
-
Desktop
-
-
- WEB
-
Extension
-
-
-
-
-
-
-
-
-
-
- Leave no trace.
-
-
- Start sharing securely →
-
-
-
-
-
-
-
- );
+import { headers } from "next/headers";
+import { auth } from "@/lib/auth";
+import { Landing } from "./landing";
+
+export default async function Home() {
+ const session = await auth.api.getSession({
+ headers: await headers(),
+ });
+ return ;
}
diff --git a/apps/web/components/navbar.tsx b/apps/web/components/navbar.tsx
new file mode 100644
index 0000000..8e3a51b
--- /dev/null
+++ b/apps/web/components/navbar.tsx
@@ -0,0 +1,34 @@
+"use client";
+
+import { Link } from "@/i18n/navigation";
+import { Logo } from "@/components/logo";
+import type { Session } from "@/lib/auth";
+
+interface Props {
+ session: Session | null;
+}
+
+export function Navbar({ session }: Props) {
+ return (
+
+ );
+}
diff --git a/apps/web/package.json b/apps/web/package.json
index b96f9f4..ad37519 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -1,5 +1,5 @@
{
- "name": "my-v0-project",
+ "name": "@noro/web",
"version": "0.1.0",
"private": true,
"scripts": {