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": {