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 { SiGithub, IconType } from "@icons-pack/react-simple-icons";
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({
href,
@@ -14,10 +45,15 @@ function SocialLink({
children: React.ReactNode;
}) {
return (
<Link href={href} className="border-b border-(--gray-7)">
<Flex align="center" className="gap-x-1.5">
<IconComponent className="size-5 text-(--gray-11)" />
<Text className="text-(--gray-12)">{children}</Text>
<Link href={href}>
<Flex
align="center"
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>
</Link>
);
@@ -29,36 +65,34 @@ export default async function HomePage() {
className="overflow-x-hidden font-schibsted"
dotsClassName="animate-bg"
>
<Flex
direction="row"
justify="between"
align="center"
width="100%"
pt="5"
px="6"
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>
{/* Top Navigation Bar */}
<Flex justify="end" align="center" width="100%" pt="5" px="6" pb="9">
<Flex gap="4" align="center">
<NavLink href="/projects">Projects</NavLink>
<NavLink href="/blog">Blog</NavLink>
<IconLink href="https://github.com/Xevion" icon={SiGithub} />
<IconLink href="/rss" icon={Rss} />
</Flex>
<Text size="6" className="font-semibold" highContrast>
About
</Text>
</Flex>
{/* Main Content */}
<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)">
<Text style={{ fontSize: "0.95em" }}>
A fanatical software engineer with expertise and passion for
@@ -70,7 +104,7 @@ export default async function HomePage() {
<Box py="3">
<Text>Find me on</Text>
<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
</SocialLink>
<SocialLink