mirror of
https://github.com/Xevion/xevion.dev.git
synced 2026-01-31 10:26:52 -06:00
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:
+66
-32
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user