mirror of
https://github.com/tiennm99/ccs.git
synced 2026-09-02 10:19:37 +00:00
feat(ui): add ClaudeKit badge and Sponsor buttons to navbar
- replace "CCS Config" header text with two promotional buttons - add ClaudeKit badge with logo linking to claudekit.cc - add Sponsor button with heart icon linking to GitHub Sponsors - both buttons feature hover effects and consistent styling - fix dark theme hover text visibility
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
@@ -0,0 +1,49 @@
|
|||||||
|
/**
|
||||||
|
* ClaudeKit Badge Button
|
||||||
|
*
|
||||||
|
* "Powered by ClaudeKit" badge for navbar, inspired by landing page design.
|
||||||
|
* Compact version optimized for header placement.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { cn } from '@/lib/utils';
|
||||||
|
|
||||||
|
const CLAUDEKIT_URL = 'https://claudekit.cc?ref=HMNKXOHN';
|
||||||
|
|
||||||
|
export function ClaudeKitBadge() {
|
||||||
|
return (
|
||||||
|
<a
|
||||||
|
href={CLAUDEKIT_URL}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
className={cn(
|
||||||
|
'group inline-flex items-center gap-2 px-3 py-1.5 rounded-lg',
|
||||||
|
'bg-accent/10 border-2 border-accent/40',
|
||||||
|
'hover:bg-accent hover:border-accent',
|
||||||
|
'transition-all duration-200 shadow-sm hover:shadow-md'
|
||||||
|
)}
|
||||||
|
title="Powered by ClaudeKit Framework"
|
||||||
|
>
|
||||||
|
<img src="/logos/claudekit-logo.png" alt="ClaudeKit" className="w-5 h-5" />
|
||||||
|
<span className="flex items-baseline gap-1.5 whitespace-nowrap">
|
||||||
|
<span
|
||||||
|
className={cn(
|
||||||
|
'text-[10px] font-medium uppercase tracking-wide',
|
||||||
|
'text-muted-foreground group-hover:text-accent-foreground/80',
|
||||||
|
'transition-colors'
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
Powered by
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
className={cn(
|
||||||
|
'text-xs font-bold text-foreground',
|
||||||
|
'group-hover:text-accent-foreground',
|
||||||
|
'transition-colors'
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
ClaudeKit
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -9,6 +9,8 @@ import { DocsLink } from '@/components/docs-link';
|
|||||||
import { ConnectionIndicator } from '@/components/connection-indicator';
|
import { ConnectionIndicator } from '@/components/connection-indicator';
|
||||||
import { LocalhostDisclaimer } from '@/components/localhost-disclaimer';
|
import { LocalhostDisclaimer } from '@/components/localhost-disclaimer';
|
||||||
import { Skeleton } from '@/components/ui/skeleton';
|
import { Skeleton } from '@/components/ui/skeleton';
|
||||||
|
import { ClaudeKitBadge } from '@/components/claudekit-badge';
|
||||||
|
import { SponsorButton } from '@/components/sponsor-button';
|
||||||
|
|
||||||
function PageLoader() {
|
function PageLoader() {
|
||||||
return (
|
return (
|
||||||
@@ -25,7 +27,10 @@ export function Layout() {
|
|||||||
<AppSidebar />
|
<AppSidebar />
|
||||||
<main className="flex-1 flex flex-col min-h-0 overflow-hidden bg-background">
|
<main className="flex-1 flex flex-col min-h-0 overflow-hidden bg-background">
|
||||||
<header className="flex h-14 items-center justify-between px-6 border-b shrink-0 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60">
|
<header className="flex h-14 items-center justify-between px-6 border-b shrink-0 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60">
|
||||||
<div className="font-semibold text-lg tracking-tight">CCS Config</div>
|
<div className="flex items-center gap-3">
|
||||||
|
<ClaudeKitBadge />
|
||||||
|
<SponsorButton />
|
||||||
|
</div>
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
<ConnectionIndicator />
|
<ConnectionIndicator />
|
||||||
<DocsLink />
|
<DocsLink />
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
/**
|
||||||
|
* Sponsor Button
|
||||||
|
*
|
||||||
|
* GitHub Sponsors button for navbar.
|
||||||
|
* Heart icon with hover animation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Heart } from 'lucide-react';
|
||||||
|
import { cn } from '@/lib/utils';
|
||||||
|
|
||||||
|
const SPONSOR_URL = 'https://github.com/sponsors/kaitranntt';
|
||||||
|
|
||||||
|
export function SponsorButton() {
|
||||||
|
return (
|
||||||
|
<a
|
||||||
|
href={SPONSOR_URL}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
className={cn(
|
||||||
|
'group inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg',
|
||||||
|
'bg-pink-500/10 border-2 border-pink-500/40',
|
||||||
|
'hover:bg-pink-400 hover:border-pink-400',
|
||||||
|
'transition-all duration-200 shadow-sm hover:shadow-md'
|
||||||
|
)}
|
||||||
|
title="Sponsor this project on GitHub"
|
||||||
|
>
|
||||||
|
<Heart
|
||||||
|
className={cn(
|
||||||
|
'w-4 h-4 text-pink-500',
|
||||||
|
'group-hover:text-white group-hover:fill-white',
|
||||||
|
'group-hover:animate-pulse',
|
||||||
|
'transition-colors'
|
||||||
|
)}
|
||||||
|
/>
|
||||||
|
<span
|
||||||
|
className={cn(
|
||||||
|
'text-xs font-bold text-pink-600 dark:text-pink-300',
|
||||||
|
'group-hover:text-white dark:group-hover:text-white',
|
||||||
|
'transition-colors'
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
Sponsor
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user