mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat: scaffold Next.js landing page app at apps/landing
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import type { Metadata } from "next";
|
||||
import { Inter } from "next/font/google";
|
||||
import "@/styles/globals.css";
|
||||
|
||||
const inter = Inter({ subsets: ["latin"], variable: "--font-inter" });
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "SnapOtter — Self-Hosted Image Processing",
|
||||
description:
|
||||
"50+ image processing tools with local AI. Runs 100% offline. No data leaves your network. Open source and free forever.",
|
||||
metadataBase: new URL("https://snapotter.com"),
|
||||
openGraph: {
|
||||
title: "SnapOtter — Self-Hosted Image Processing",
|
||||
description:
|
||||
"50+ image processing tools with local AI. Runs 100% offline. No data leaves your network.",
|
||||
url: "https://snapotter.com",
|
||||
siteName: "SnapOtter",
|
||||
type: "website",
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
title: "SnapOtter — Self-Hosted Image Processing",
|
||||
description:
|
||||
"50+ image processing tools with local AI. Runs 100% offline. No data leaves your network.",
|
||||
},
|
||||
};
|
||||
|
||||
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
<html lang="en" className={inter.variable}>
|
||||
<body className="bg-background text-foreground font-[family-name:var(--font-inter)] antialiased">
|
||||
{children}
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
export default function Home() {
|
||||
return (
|
||||
<main>
|
||||
<h1 className="text-4xl font-bold text-center py-40">SnapOtter</h1>
|
||||
</main>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
@import "tailwindcss";
|
||||
|
||||
@theme {
|
||||
--color-accent: #f59e0b;
|
||||
--color-accent-hover: #d97706;
|
||||
--color-accent-foreground: #ffffff;
|
||||
--color-background: #ffffff;
|
||||
--color-background-alt: #fafaf9;
|
||||
--color-foreground: #0a0a0a;
|
||||
--color-muted: #737373;
|
||||
--color-border: #e7e5e4;
|
||||
--color-dark-bg: #0c0a09;
|
||||
--color-dark-fg: #fafaf9;
|
||||
--color-dark-muted: #a8a29e;
|
||||
}
|
||||
Reference in New Issue
Block a user