refactor: redesign homepage navigation and social links

- Move navigation to top-right header
- Replace simple underline links with styled card-based social links
- Add RSS and GitHub icons to header
- Remove About section from top nav
This commit is contained in:
2026-01-03 13:45:38 -06:00
parent ac7618f2fd
commit 31b1804fc9
+66 -32
View File
@@ -3,6 +3,37 @@ import { Flex, Button, Text, Container, Box } from "@radix-ui/themes";
import Link from "next/link"; import Link from "next/link";
import { SiGithub, IconType } from "@icons-pack/react-simple-icons"; import { SiGithub, IconType } from "@icons-pack/react-simple-icons";
import { SiLinkedin } from "react-icons/si"; import { SiLinkedin } from "react-icons/si";
import { Rss } from "lucide-react";
function NavLink({
href,
children,
}: {
href: string;
children: React.ReactNode;
}) {
return (
<Link href={href}>
<Text size="3" className="text-(--gray-11) hover:text-(--gray-12)">
{children}
</Text>
</Link>
);
}
function IconLink({
href,
icon: Icon,
}: {
href: string;
icon: React.ElementType;
}) {
return (
<Link href={href} className="text-(--gray-11) hover:text-(--gray-12)">
<Icon className="size-5" />
</Link>
);
}
function SocialLink({ function SocialLink({
href, href,
@@ -14,10 +45,15 @@ function SocialLink({
children: React.ReactNode; children: React.ReactNode;
}) { }) {
return ( return (
<Link href={href} className="border-b border-(--gray-7)"> <Link href={href}>
<Flex align="center" className="gap-x-1.5"> <Flex
<IconComponent className="size-5 text-(--gray-11)" /> align="center"
<Text className="text-(--gray-12)">{children}</Text> className="gap-x-1.5 px-1.5 py-1 rounded-xs bg-zinc-900 shadow-sm hover:bg-zinc-800 transition-colors"
>
<IconComponent className="size-4 text-zinc-300" />
<Text size="2" className="text-zinc-100">
{children}
</Text>
</Flex> </Flex>
</Link> </Link>
); );
@@ -29,36 +65,34 @@ export default async function HomePage() {
className="overflow-x-hidden font-schibsted" className="overflow-x-hidden font-schibsted"
dotsClassName="animate-bg" dotsClassName="animate-bg"
> >
<Flex {/* Top Navigation Bar */}
direction="row" <Flex justify="end" align="center" width="100%" pt="5" px="6" pb="9">
justify="between" <Flex gap="4" align="center">
align="center" <NavLink href="/projects">Projects</NavLink>
width="100%" <NavLink href="/blog">Blog</NavLink>
pt="5" <IconLink href="https://github.com/Xevion" icon={SiGithub} />
px="6" <IconLink href="/rss" icon={Rss} />
pb="9"
>
<Flex direction="column">
<Text size="6" weight="bold" highContrast>
Ryan Walters,
</Text>
<Text
size="6"
weight="regular"
style={{
color: "var(--gray-11)",
}}
>
Software Engineer
</Text>
</Flex> </Flex>
<Text size="6" className="font-semibold" highContrast>
About
</Text>
</Flex> </Flex>
{/* Main Content */}
<Flex align="center" direction="column"> <Flex align="center" direction="column">
<Box className="max-w-2xl mx-6 border-y border-(--gray-7) divide-y divide-(--gray-7)"> <Box className="max-w-2xl mx-6 border-b border-(--gray-7) divide-y divide-(--gray-7)">
{/* Name & Job Title */}
<Flex direction="column" pb="4">
<Text size="6" weight="bold" highContrast>
Ryan Walters,
</Text>
<Text
size="6"
weight="regular"
style={{
color: "var(--gray-11)",
}}
>
Software Engineer
</Text>
</Flex>
<Box py="4" className="text-(--gray-12)"> <Box py="4" className="text-(--gray-12)">
<Text style={{ fontSize: "0.95em" }}> <Text style={{ fontSize: "0.95em" }}>
A fanatical software engineer with expertise and passion for A fanatical software engineer with expertise and passion for
@@ -70,7 +104,7 @@ export default async function HomePage() {
<Box py="3"> <Box py="3">
<Text>Find me on</Text> <Text>Find me on</Text>
<Flex gapX="2" pl="3" pt="3" pb="2"> <Flex gapX="2" pl="3" pt="3" pb="2">
<SocialLink href="https://github.com/ryanwalters" icon={SiGithub}> <SocialLink href="https://github.com/Xevion" icon={SiGithub}>
GitHub GitHub
</SocialLink> </SocialLink>
<SocialLink <SocialLink