Update stuff & add admin link in nav for admins

This commit is contained in:
2026-03-26 23:13:05 -05:00
parent de95908156
commit afd76786e5
5 changed files with 38 additions and 13 deletions
+1 -1
View File
@@ -58,7 +58,7 @@ export const defaultLandingPageContent: LandingPageContent = {
badgeEmoji: '🚀',
badgeText: 'Production-ready monorepo template',
headingPrefix: 'Build Full-Stack Apps with',
headingHighlight: 'convex monorepo',
headingHighlight: 'convex-monorepo',
description:
'A Turborepo starter with Next.js, Expo, and self-hosted Convex. Ship web and mobile apps faster with shared code, type-safe backend, and complete control over your infrastructure.',
primaryCta: {
@@ -1,17 +1,26 @@
'use client';
import type { ComponentProps } from 'react';
import { type Preloaded, usePreloadedQuery } from 'convex/react';
import { Kanit } from 'next/font/google';
import Image from 'next/image';
import Link from 'next/link';
import { Coffee, Server, Wrench } from 'lucide-react';
import { Coffee, Server, User, Wrench } from 'lucide-react';
import { Controls } from './controls';
import { api } from '@gib/backend/convex/_generated/api.js';
type HeaderProps = {
preloadedUser: Preloaded<typeof api.auth.getUser>;
headerProps?: ComponentProps<'header'>;
};
const kanitSans = Kanit({
subsets: ['latin'],
weight: ['400', '500', '600', '700'],
});
export default function Header(headerProps: ComponentProps<'header'>) {
export default function Header({preloadedUser, headerProps}: HeaderProps) {
const user = usePreloadedQuery(preloadedUser);
return (
<header
className='border-border/40 bg-background/95 supports-backdrop-filter:bg-background/60 sticky top-0 z-50 w-full border-b backdrop-blur'
@@ -31,14 +40,14 @@ export default function Header(headerProps: ComponentProps<'header'>) {
className='w-10 lg:w-15 invert dark:invert-0'
/>
<span
className={`font-extrabold hidden sm:inline sm:text-xl sm:mb-1 lg:mb-3 lg:text-5xl ${kanitSans.className}`}
className={`font-extrabold hidden md:inline sm:text-lg sm:mb-1 lg:mb-3 lg:text-4xl xl:text-5xl ${kanitSans.className}`}
>
convex monorepo
convex-monorepo
</span>
</Link>
{/* Navigation */}
<nav className='hidden items-center gap-6 text-xs lg:text-base font-medium sm:flex'>
<nav className='hidden items-center gap-4 md:gap-6 text-xs lg:text-base font-medium sm:flex'>
<Link
href='/#features'
className='text-foreground/60 hover:text-foreground flex items-center gap-2 transition-colors'
@@ -62,6 +71,18 @@ export default function Header(headerProps: ComponentProps<'header'>) {
<Coffee width={20} height={20} />
Repository
</Link>
{user?.isAdmin && (
<Link
href='/admin'
target='_blank'
rel='noopener noreferrer'
className='text-foreground/60 hover:text-foreground
flex items-center gap-2 transition-colors'
>
<User width={18} height={18} />
Admin
</Link>
)}
</nav>
{/* Controls (Theme + Auth) */}