Skip to content
Merged
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
34 changes: 0 additions & 34 deletions .github/workflows/summary.yml

This file was deleted.

62 changes: 44 additions & 18 deletions src/components/Navbar.astro
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,17 @@ import ThemeToggle from './ThemeToggle.astro';

export interface Props {
githubUrl?: string;
links?: Array<{
href: string;
label: string;
external?: boolean;
active?: boolean;
}>;
}

const {
githubUrl = "https://github.com/josstei/JoStVIM"
githubUrl = "https://github.com/josstei/JoStVIM",
links = []
} = Astro.props;
---

Expand Down Expand Up @@ -42,17 +49,28 @@ const {

<!-- Navigation Links -->
<div class="hidden md:flex items-center space-x-8">
<a href={import.meta.env.BASE_URL + '/docs'} class="nav-link group relative px-4 py-2 text-slate-700 dark:text-slate-100 hover:text-purple-600 dark:hover:text-purple-300 font-medium transition-all duration-300">
<span class="relative z-10">Documentation</span>
<div class="absolute inset-0 rounded-lg bg-gradient-to-r from-purple-500/0 via-pink-500/0 to-purple-500/0 group-hover:from-purple-500/10 group-hover:via-pink-500/5 group-hover:to-purple-500/10 dark:group-hover:from-purple-400/25 dark:group-hover:via-pink-400/20 dark:group-hover:to-purple-400/25 transition-all duration-300"></div>
<div class="absolute bottom-0 left-0 w-0 h-0.5 bg-gradient-to-r from-purple-500 to-pink-500 dark:from-purple-400 dark:to-pink-400 group-hover:w-full transition-all duration-300"></div>
</a>

<a href={import.meta.env.BASE_URL + '/donate'} class="nav-link group relative px-4 py-2 text-slate-700 dark:text-slate-100 hover:text-purple-600 dark:hover:text-purple-300 font-medium transition-all duration-300">
<span class="relative z-10">Donate</span>
<div class="absolute inset-0 rounded-lg bg-gradient-to-r from-purple-500/0 via-pink-500/0 to-purple-500/0 group-hover:from-purple-500/10 group-hover:via-pink-500/5 group-hover:to-purple-500/10 dark:group-hover:from-purple-400/25 dark:group-hover:via-pink-400/20 dark:group-hover:to-purple-400/25 transition-all duration-300"></div>
<div class="absolute bottom-0 left-0 w-0 h-0.5 bg-gradient-to-r from-purple-500 to-pink-500 dark:from-purple-400 dark:to-pink-400 group-hover:w-full transition-all duration-300"></div>
</a>
{links.map((link) => (
<a
href={link.external ? link.href : import.meta.env.BASE_URL + link.href}
target={link.external ? "_blank" : undefined}
rel={link.external ? "noopener noreferrer" : undefined}
class={`nav-link group relative px-4 py-2 font-medium transition-all duration-300 ${
link.active
? 'text-purple-600 dark:text-purple-300'
: 'text-slate-700 dark:text-slate-100 hover:text-purple-600 dark:hover:text-purple-300'
}`}
>
<span class="relative z-10">{link.label}</span>
<div class={`absolute inset-0 rounded-lg bg-gradient-to-r transition-all duration-300 ${
link.active
? 'from-purple-500/10 via-pink-500/5 to-purple-500/10 dark:from-purple-400/25 dark:via-pink-400/20 dark:to-purple-400/25'
: 'from-purple-500/0 via-pink-500/0 to-purple-500/0 group-hover:from-purple-500/10 group-hover:via-pink-500/5 group-hover:to-purple-500/10 dark:group-hover:from-purple-400/25 dark:group-hover:via-pink-400/20 dark:group-hover:to-purple-400/25'
}`}></div>
<div class={`absolute bottom-0 left-0 h-0.5 bg-gradient-to-r from-purple-500 to-pink-500 dark:from-purple-400 dark:to-pink-400 transition-all duration-300 ${
link.active ? 'w-full' : 'w-0 group-hover:w-full'
}`}></div>
</a>
))}
</div>
</div>

Expand Down Expand Up @@ -84,12 +102,20 @@ const {
<!-- Mobile Menu -->
<div x-show="mobileMenuOpen" x-transition:enter="transition ease-out duration-200" x-transition:enter-start="opacity-0 scale-95" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-95" class="md:hidden absolute top-full left-0 right-0 bg-indigo-50/95 dark:bg-slate-900/95 backdrop-blur-md border-b border-indigo-200/60 dark:border-indigo-500/30">
<div class="px-6 py-4 space-y-2">
<a href={import.meta.env.BASE_URL + '/docs'} class="block px-4 py-3 text-slate-700 dark:text-slate-100 hover:text-purple-600 dark:hover:text-purple-300 hover:bg-indigo-100 dark:hover:bg-slate-800/60 rounded-lg font-medium transition-all duration-300">
Documentation
</a>
<a href={import.meta.env.BASE_URL + '/donate'} class="block px-4 py-3 text-slate-700 dark:text-slate-100 hover:text-purple-600 dark:hover:text-purple-300 hover:bg-indigo-100 dark:hover:bg-slate-800/60 rounded-lg font-medium transition-all duration-300">
Donate
</a>
{links.map((link) => (
<a
href={link.external ? link.href : import.meta.env.BASE_URL + link.href}
target={link.external ? "_blank" : undefined}
rel={link.external ? "noopener noreferrer" : undefined}
class={`block px-4 py-3 rounded-lg font-medium transition-all duration-300 ${
link.active
? 'text-purple-600 dark:text-purple-300 bg-purple-100 dark:bg-purple-900/30'
: 'text-slate-700 dark:text-slate-100 hover:text-purple-600 dark:hover:text-purple-300 hover:bg-indigo-100 dark:hover:bg-slate-800/60'
}`}
>
{link.label}
</a>
))
</div>
</div>
</nav>
13 changes: 11 additions & 2 deletions src/layouts/main.astro
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,21 @@ const {
githubUrl = "https://github.com/josstei/JoStVIM",
showNavbar = true
} = Astro.props;

const currentPath = Astro.url.pathname;

const navLinks = [
{ href: '/docs', label: 'Documentation' },
{ href: '/donate', label: 'Donate' },
].map(link => ({
...link,
active: currentPath.startsWith(import.meta.env.BASE_URL + link.href)
}));
---

<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="/src/styles/global.css" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{title}</title>
Expand All @@ -36,7 +45,7 @@ const {
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
</head>
<body>
{showNavbar && <Navbar githubUrl={githubUrl} />}
{showNavbar && <Navbar githubUrl={githubUrl} links={navLinks} />}

<main class={showNavbar ? "main-content with-navbar" : "main-content"}>
<slot />
Expand Down
2 changes: 1 addition & 1 deletion src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import Main from '../layouts/main.astro';
>
<div class="relative h-screen">
<!-- Galaxy Background -->
<div id="galaxy-background" class="absolute inset-0 z-0" data-controller="theme">
<div id="galaxy-background" class="absolute inset-0 z-0" data-controller="galaxy">
<canvas id="galaxy-canvas" class="w-full h-full"></canvas>
</div>

Expand Down