72 lines
1.9 KiB
TypeScript
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>
|
|
);
|
|
}
|