Add home page content

This commit is contained in:
Beau Findlay
2024-04-24 15:47:42 +01:00
parent a85b63b58a
commit f46c7bd9da
7 changed files with 70 additions and 4 deletions

View File

@@ -0,0 +1,17 @@
interface Props {
children: string;
href: string;
target?: "_blank" | "";
}
export default function Link({ children, href, target }: Props) {
return (
<a
href={href}
target={target}
className="underline underline-offset-2 hover:underline-offset-4"
>
{children}
</a>
);
}

View File

@@ -46,7 +46,7 @@ export default function NavBar() {
onClose={setMobileMenuOpen} onClose={setMobileMenuOpen}
> >
<div className="fixed inset-0 z-10" /> <div className="fixed inset-0 z-10" />
<Dialog.Panel className="fixed inset-y-0 right-0 z-10 bg-black w-full overflow-y-auto px-6 py-6 sm:max-w-sm sm:ring-1 sm:ring-gray-900/10 text-white border-l-2"> <Dialog.Panel className="fixed inset-y-0 right-0 z-10 bg-black w-full overflow-y-auto px-6 py-6 sm:max-w-sm sm:ring-1 sm:ring-gray-900/10 text-white sm:border-l-2">
<div className="flex items-center justify-between"> <div className="flex items-center justify-between">
<a href="#" className="-m-1.5 p-1.5"> <a href="#" className="-m-1.5 p-1.5">
<span className="sr-only">Beau Findlay</span> <span className="sr-only">Beau Findlay</span>

View File

@@ -0,0 +1,11 @@
interface Props {
children: string;
className?: string | null;
}
export default function Subtitle({ children, className }: Props) {
const defaultStyles = "text-2xl py-4 font-semibold";
const styles = className ? `${defaultStyles} ${className}` : defaultStyles;
return <h2 className={styles}>{children}</h2>;
}

View File

@@ -0,0 +1,9 @@
import { ReactNode } from "react";
interface Props {
children: ReactNode;
}
export default function Text({ children }: Props) {
return <p className="text-xl py-4">{children}</p>;
}

View File

@@ -0,0 +1,7 @@
interface Props {
children: string;
}
export default function Title({ children }: Props) {
return <h1 className="text-4xl">{children}</h1>;
}

View File

@@ -1,3 +1,26 @@
import Link from "../components/Link";
import Subtitle from "../components/Subtitle";
import Text from "../components/Text";
import Title from "../components/Title";
export default function HomePage() { export default function HomePage() {
return <p className="text-3xl font-bold underline">Hello world</p>; return (
<>
<Title>Hi, I'm Beau.</Title>
<Text>
I'm a UK-based software engineer and I love building cool stuff.
</Text>
<Subtitle className="mt-12">A bit about me</Subtitle>
<Text>
I mostly specialise in back-end C#/.NET development and I've built
systems that scale for hundreds-of-thousands of global users.
</Text>
<Text>
I've worked with businesses at all sizes and stages and I'm currently
heading up the tech as CTO at a cool startup called{" "}
<Link href="https://unhurdmusic.com">un:hurd music</Link>.
</Text>
</>
);
} }

View File

@@ -7,10 +7,9 @@ export default function Layout() {
<div className="bg-black font-mono text-slate-50 antialiased px-6 lg:px-8"> <div className="bg-black font-mono text-slate-50 antialiased px-6 lg:px-8">
<div className="flex flex-col min-h-screen mx-auto max-w-7xl fade-in "> <div className="flex flex-col min-h-screen mx-auto max-w-7xl fade-in ">
<NavBar /> <NavBar />
<div className="flex-1"> <div className="flex-1 py-8">
<Outlet /> <Outlet />
</div> </div>
<Footer /> <Footer />
</div> </div>
</div> </div>