Files
Makers3D/apps/web/app/layout.tsx
T

72 lines
1.9 KiB
TypeScript

import type { Metadata, Viewport } from "next";
import Link from "next/link";
import { Space_Grotesk, Manrope } from "next/font/google";
import AuthNav from "./components/AuthNav";
import AuthSessionSync from "./components/AuthSessionSync";
import MobileAppDock from "./components/MobileAppDock";
import { ServiceWorkerRegister } from "./components/ServiceWorkerRegister";
import "leaflet/dist/leaflet.css";
import "./globals.css";
const spaceGrotesk = Space_Grotesk({
subsets: ["latin"],
variable: "--font-head"
});
const manrope = Manrope({
subsets: ["latin"],
variable: "--font-body"
});
export const metadata: Metadata = {
title: "Makers3D",
description: "Descubre, evalua y contacta makers 3D en Argentina.",
applicationName: "Makers3D",
appleWebApp: {
capable: true,
statusBarStyle: "black-translucent",
title: "Makers3D"
},
icons: {
icon: "/icon.svg",
apple: "/icon.svg"
}
};
export const viewport: Viewport = {
width: "device-width",
initialScale: 1,
viewportFit: "cover",
themeColor: "#09111d"
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="es" className={`${spaceGrotesk.variable} ${manrope.variable}`}>
<body>
<ServiceWorkerRegister />
<AuthSessionSync />
<header className="topbar">
<div className="topbar-inner">
<Link href="/" className="brand">
<span className="brand-mark" />
<span>
Makers3D
<span className="brand-note">MVP operativo</span>
</span>
</Link>
<div className="topbar-search">
<span>Buscar maker, trabajo, servicio o incidencia...</span>
<span>CTRL K</span>
</div>
<AuthNav />
</div>
</header>
{children}
<MobileAppDock />
</body>
</html>
);
}