Files
portifolio-evandrodevbr/app/layout.tsx
T

154 lines
4.3 KiB
TypeScript

import type { Metadata, Viewport } from "next";
import { ReactNode } from "react";
import GoogleAnalytics from "./components/GoogleAnalytics";
import { SmoothScrollProvider } from "./providers/SmoothScrollProvider";
import "./globals.css";
export const metadata: Metadata = {
// ... existing metadata ...
title:
"Evandro Fonseca Junior | Engenheiro de Software (Next.js, Tauri & Rust)",
description:
"Engenheiro Full-Stack especializado em aplicações de alta performance e sistemas críticos. Desenvolvimento com Next.js, React, Tauri e arquitetura escalável.",
keywords: [
"engenheiro full-stack",
"engenheiro de software",
"Next.js",
"React",
"Tauri",
"Rust",
"Python",
"Next.js specialist",
"React developer",
"Tauri developer",
"TypeScript",
"PostgreSQL",
"MySQL",
"computação em nuvem",
"IoT",
"automação",
"arquitetura de software",
"sistemas escaláveis",
"High Performance",
"System Architecture",
],
authors: [{ name: "Evandro Fonseca Junior" }],
creator: "Evandro Fonseca Junior",
publisher: "Evandro Fonseca Junior",
formatDetection: {
email: false,
address: false,
telephone: false,
},
metadataBase: new URL("https://evandro.dev.br"),
alternates: {
canonical: "/",
},
openGraph: {
title:
"Evandro Fonseca Junior | Engenheiro de Software (Next.js, Tauri & Rust)",
description:
"Engenheiro Full-Stack especializado em aplicações de alta performance e sistemas críticos. Desenvolvimento com Next.js, React, Tauri e arquitetura escalável.",
url: "https://evandro.dev.br",
siteName: "Evandro Fonseca Junior",
locale: "pt_BR",
type: "website",
images: [
{
url: "/opengraph-image",
width: 1200,
height: 630,
alt: "Evandro Fonseca Junior - Engenheiro de Software (Next.js, Tauri & Rust)",
},
],
},
twitter: {
card: "summary_large_image",
title:
"Evandro Fonseca Junior | Engenheiro de Software (Next.js, Tauri & Rust)",
description:
"Engenheiro Full-Stack especializado em aplicações de alta performance e sistemas críticos. Desenvolvimento com Next.js, React, Tauri e arquitetura escalável.",
creator: "@evandrodevbr",
images: ["/opengraph-image"],
},
robots: {
index: true,
follow: true,
googleBot: {
index: true,
follow: true,
"max-video-preview": -1,
"max-image-preview": "large",
"max-snippet": -1,
},
},
};
export const viewport: Viewport = {
themeColor: "#ffffff",
width: "device-width",
initialScale: 1,
maximumScale: 5,
};
interface RootLayoutProps {
children: ReactNode;
}
export default function RootLayout({ children }: Readonly<RootLayoutProps>) {
const jsonLd = {
"@context": "https://schema.org",
"@type": "ProfilePage",
mainEntity: {
"@type": "Person",
name: "Evandro Fonseca Junior",
alternateName: "Evandro.dev",
jobTitle: "Engenheiro de Software",
url: "https://evandro.dev.br",
sameAs: [
"https://github.com/evandrodevbr",
"https://www.linkedin.com/in/evandro-fonseca-junior-0969aa1b0/",
],
knowsAbout: [
"Software Engineering",
"Next.js",
"React",
"Tauri",
"Rust",
"TypeScript",
"High Performance Computing",
"System Architecture",
"Cloud Computing",
"IoT",
"Automation",
"PostgreSQL",
"MySQL",
],
worksFor: {
"@type": "Organization",
name: "Freelancer / Consultor Independente",
},
description:
"Engenheiro de software especializado em aplicações de alta performance e sistemas críticos. Desenvolvimento com Next.js 15, React 19, Tauri e arquitetura escalável. Experiência em automação, computação em nuvem e sistemas distribuídos.",
},
};
return (
<html lang="pt-BR">
<head>
<link rel="canonical" href="https://evandro.dev.br" />
</head>
<body>
<SmoothScrollProvider>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
{children}
<GoogleAnalytics />
</SmoothScrollProvider>
</body>
</html>
);
}