73 lines
2.0 KiB
TypeScript
73 lines
2.0 KiB
TypeScript
import type { Metadata, Viewport } from "next";
|
|
import { Inter } from "next/font/google";
|
|
import "./globals.css";
|
|
import Navbar from "@/components/Navbar";
|
|
import Footer from "@/components/Footer";
|
|
|
|
const inter = Inter({
|
|
subsets: ["latin"],
|
|
variable: "--font-inter",
|
|
});
|
|
|
|
export const viewport: Viewport = {
|
|
width: "device-width",
|
|
initialScale: 1,
|
|
viewportFit: "cover",
|
|
};
|
|
|
|
export const metadata: Metadata = {
|
|
title: "CiMa Progetti | Digital Architecture & Integration",
|
|
description:
|
|
"Progettiamo la struttura digitale del vostro business. Portali, database, e-commerce, automazioni IA e cybersicurezza.",
|
|
icons: {
|
|
icon: [
|
|
{
|
|
url: "/favicon-light.svg",
|
|
type: "image/svg+xml",
|
|
media: "(prefers-color-scheme: light)",
|
|
},
|
|
{
|
|
url: "/favicon-dark.svg",
|
|
type: "image/svg+xml",
|
|
media: "(prefers-color-scheme: dark)",
|
|
},
|
|
],
|
|
},
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
return (
|
|
<html lang="it" className={`${inter.variable} scroll-smooth`}>
|
|
<head>
|
|
{/* Preconnect to Google Fonts for faster loading */}
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link
|
|
rel="preconnect"
|
|
href="https://fonts.gstatic.com"
|
|
crossOrigin="anonymous"
|
|
/>
|
|
|
|
{/* DNS prefetch for third-party domains */}
|
|
<link rel="dns-prefetch" href="https://fonts.googleapis.com" />
|
|
|
|
{/* Material Symbols — reduced to single weight/fill, display=swap prevents render blocking */}
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@400,0&display=swap"
|
|
rel="stylesheet"
|
|
/>
|
|
|
|
{/* Inter font is self-hosted by next/font — no external preload needed */}
|
|
</head>
|
|
<body className="min-h-screen flex flex-col">
|
|
<Navbar />
|
|
<main className="flex-1">{children}</main>
|
|
<Footer />
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|