Add home page content
This commit is contained in:
17
src/Client/src/components/Link.tsx
Normal file
17
src/Client/src/components/Link.tsx
Normal 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>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -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>
|
||||||
|
|||||||
11
src/Client/src/components/Subtitle.tsx
Normal file
11
src/Client/src/components/Subtitle.tsx
Normal 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>;
|
||||||
|
}
|
||||||
9
src/Client/src/components/Text.tsx
Normal file
9
src/Client/src/components/Text.tsx
Normal 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>;
|
||||||
|
}
|
||||||
7
src/Client/src/components/Title.tsx
Normal file
7
src/Client/src/components/Title.tsx
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
interface Props {
|
||||||
|
children: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function Title({ children }: Props) {
|
||||||
|
return <h1 className="text-4xl">{children}</h1>;
|
||||||
|
}
|
||||||
@@ -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>
|
||||||
|
</>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user