source-code/
portofolio-neo-gruv
Public
typescript85 lines2.3 KB
import type { Metadata } from 'next';
import './globals.css';
import { ThemeProvider } from '../context/ThemeContext';
const siteUrl = 'https://nre.codes';
const title = 'Andre Christian Manurung | nre.codes';
const description = 'Personal portfolio of Andre Christian Manurung - Fullstack Software Engineer specializing in web and mobile development.';
export const metadata: Metadata = {
metadataBase: new URL(siteUrl),
title,
description,
alternates: {
canonical: '/',
},
openGraph: {
title,
description,
url: siteUrl,
siteName: 'nre.codes',
type: 'website',
locale: 'en_US',
},
twitter: {
card: 'summary_large_image',
title,
description,
},
robots: {
index: true,
follow: true,
googleBot: {
index: true,
follow: true,
'max-video-preview': -1,
'max-image-preview': 'large',
'max-snippet': -1,
},
},
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en">
<head>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />
<link
href="https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&family=Space+Grotesk:wght@300..700&display=swap"
rel="stylesheet"
/>
<link
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap"
rel="stylesheet"
/>
<script
dangerouslySetInnerHTML={{
__html: `
(function() {
try {
var theme = localStorage.getItem('theme');
if (theme === 'dark') {
document.documentElement.classList.add('dark');
} else {
document.documentElement.classList.remove('dark');
}
} catch (e) {}
})();
`,
}}
/>
</head>
<body className="overflow-x-hidden">
<ThemeProvider>
{children}
</ThemeProvider>
</body>
</html>
);
}
About
Custom portfolio frontend designed using retro Neo-Brutalist styling. Features server-rendered pages, persistent codebase layout, interactive file explorer tree, and Shiki code syntax highlighting.
TypeScriptNext.jsReact 19Tailwind CSSShiki