init project files

This commit is contained in:
!verity
2026-03-16 21:25:53 +01:00
commit 2045808f00
40 changed files with 3436 additions and 0 deletions

49
app/layout.tsx Normal file
View File

@@ -0,0 +1,49 @@
import type { Metadata, Viewport } from 'next';
import { Syne, DM_Sans } from 'next/font/google';
import '../styles/globals.scss';
import Header from '@/components/layout/Header';
import Footer from '@/components/layout/Footer';
import { personal } from '@/content/personal';
const syne = Syne({
subsets: ['latin'],
variable: '--font-display',
weight: ['400', '500', '600', '700', '800'],
});
const dmSans = DM_Sans({
subsets: ['latin'],
variable: '--font-body',
weight: ['400', '500'],
});
export const metadata: Metadata = {
title: `${personal.name}${personal.role}`,
description: personal.tagline,
openGraph: {
title: `${personal.name}${personal.role}`,
description: personal.tagline,
type: 'website',
},
};
export const viewport: Viewport = {
width: 'device-width',
initialScale: 1,
maximumScale: 5,
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en" className={`${syne.variable} ${dmSans.variable}`}>
<body>
<a href="#main" className="skipLink">
Skip to content
</a>
<Header />
<main id="main">{children}</main>
<Footer />
</body>
</html>
);
}

19
app/page.tsx Normal file
View File

@@ -0,0 +1,19 @@
import Hero from '@/components/sections/Hero';
import TechStack from '@/components/sections/TechStack';
import Projects from '@/components/sections/Projects';
import About from '@/components/sections/About';
import Experience from '@/components/sections/Experience';
import Contact from '@/components/sections/Contact';
export default function Home() {
return (
<>
<Hero />
<TechStack />
<Projects />
<About />
<Experience />
<Contact />
</>
);
}