Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ const jbMono = Noto_Serif({

export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html className={`bg-white`} lang="en">
<html className={`bg-red-500`} lang="en">
<body className={clsx(jbMono.className, "text-black ")}>
<NavigationProvider>{children}</NavigationProvider>
<Analytics />
Expand Down
69 changes: 37 additions & 32 deletions src/app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,68 +1,73 @@
import SocialLinks from "@/components/Nav/SocialLinks";
import Greeting from "@/components/Greeting";
import Link from "next/link";

const interests = [
"distributed systems",
"film photography",
"type-safe APIs",
"generative art",
"running",
"mechanical keyboards",
];

function CurrentInterest() {
const index = Math.floor(Date.now() / 86400000) % interests.length;
return <span className="text-neutral-400">{interests[index]}</span>;
}

export default function Home() {
return (
<div className="w-full flex justify-center ">
<div className="sm:max-w-[70%] lg:w-[50%] sm:absolute sm:px-0 px-6 top-0 left-[96px] flex flex-col items-start pt-10 sm:pt-24 lg:border-red-500 md:border-yellow-500 sm:border-green-500">
<div>
Liam Monaghan{" "}
<Greeting />{" "}
<a className="mt-8" target="_blank" href="https://light.lpm.sh">
💡
</a>
</div>

<div className="pt-8">
I&apos;m a Christian, student, developer,{" "}
Christian. Developer.{" "}
<a href="/photos" className="text-neutral-500 hover:text-neutral-600 underline">
photographer
</a>
, Pittsburgh and Ohio State sports fan, and can't live without music. You can usually find me{" "}
<a href="https://github.com/lpmsh" target="_blank" className="text-neutral-500 hover:text-neutral-600 underline">
coding
</a>{" "}
or hanging out with friends. I also occasionally{" "}
<a href="/blog" className="text-neutral-500 hover:text-neutral-600 underline">
write about things
Photographer
</a>
.
</div>

{/*<div className="pt-8">
I'm currently hacking on{" "}
<a href="https://promptiac.com?utm_source=lpmsh" target="_blank" className="text-blue-500 hover:text-opacity-70">
Promptiac
</a>
.
</div>*/}

<div className="pt-8">
I'm currently studying computer science at{" "}
. Studying CS at{" "}
<a href="https://purdue.edu" target="_blank" className="text-[#CFB991] hover:text-opacity-70 underline">
Purdue
</a>
.
</div>
<div className="pt-2">
I was previously a software engineer intern for{" "}

<div className="pt-8">
Previously built software at{" "}
<a href="https://flowglad.com" target="_blank" className="text-[#DD7D2A] hover:text-opacity-70 underline">
Flowglad
</a>{" "}
and{" "}
<a href="https://roda.com" target="_blank" className="text-[#1D6CDC] hover:text-opacity-70 underline">
Roda
</a>
.
</div>

<div className="pt-8">
Wanna chat?{" "}
. I{" "}
<a href="https://github.com/lpmsh" target="_blank" className="text-neutral-500 hover:text-neutral-600 underline">
code
</a>
,{" "}
<a href="/blog" className="text-neutral-500 hover:text-neutral-600 underline">
write
</a>
, and{" "}
<Link className="text-neutral-500 hover:text-neutral-600 underline" target="_blank" href={"https://cal.com/liammonaghan/30min"}>
Book a call
chat
</Link>
.
</div>

<div className="pt-8 text-neutral-500 text-sm">
Currently into {" "}
<CurrentInterest />.
</div>

<div className="fixed bottom-8">
<SocialLinks />
</div>
Expand Down
22 changes: 22 additions & 0 deletions src/components/Greeting.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"use client";

import { useState, useEffect } from "react";

function getGreeting(): string {
const hour = new Date().getHours();
if (hour < 5) return "Up late? I'm Liam Monaghan";
if (hour < 12) return "Good morning, I'm Liam Monaghan";
if (hour < 17) return "Good afternoon, I'm Liam Monaghan";
if (hour < 21) return "Good evening, I'm Liam Monaghan";
return "Up late? I'm Liam Monaghan";
}

export default function Greeting() {
const [greeting, setGreeting] = useState("Liam Monaghan");

useEffect(() => {
setGreeting(getGreeting());
}, []);

return <>{greeting}</>;
}