feat(site): initial about.uptime.link website

- Rebrand from idp.global to uptime.link
- Add JetBrains Mono as primary font
- Update Hero with port detection, network scanning, status widgets
- Update Features for uptime monitoring capabilities
- Update HowItWorks for CLI-based workflow
- Create new docs: CLI, Widgets, Detector
- Remove idp.global specific pages (FairUsage, Docker, OIDC, Organizations, Users)
- Use emerald green color scheme throughout
This commit is contained in:
2025-12-23 00:37:37 +00:00
parent 59f64a1291
commit 4eb89bd330
24 changed files with 1434 additions and 2148 deletions

View File

@@ -1,7 +1,7 @@
import React from 'react';
import { Link, Outlet, useLocation } from 'react-router-dom';
import { cn } from '@/lib/utils';
import { Globe, BookOpen, Rocket, Container, Code2, Key, Building2, Terminal, Users, ExternalLink } from 'lucide-react';
import { Activity, BookOpen, Rocket, Terminal, Code2, Globe, Wifi, Settings, ExternalLink } from 'lucide-react';
import { ThemeToggle } from '@/components/ThemeToggle';
import { Button } from '@/components/ui/button';
@@ -14,24 +14,23 @@ const navigation = [
]
},
{
title: 'Deployment',
title: 'Installation',
items: [
{ title: 'Docker', href: '/docs/docker', icon: Container },
{ title: 'Configuration', href: '/docs/configuration', icon: Terminal },
{ title: 'CLI', href: '/docs/cli', icon: Terminal },
{ title: 'Configuration', href: '/docs/configuration', icon: Settings },
]
},
{
title: 'Integration',
items: [
{ title: 'TypeScript SDK', href: '/docs/sdk', icon: Code2 },
{ title: 'OIDC / OAuth 2.0', href: '/docs/oidc', icon: Key },
{ title: 'Status Widgets', href: '/docs/widgets', icon: Globe },
]
},
{
title: 'Features',
items: [
{ title: 'Organizations', href: '/docs/organizations', icon: Building2 },
{ title: 'User Management', href: '/docs/users', icon: Users },
{ title: 'Network Detector', href: '/docs/detector', icon: Wifi },
]
},
];
@@ -45,8 +44,8 @@ const DocsLayout = () => {
<header className="shrink-0 z-50 w-full border-b border-border bg-background">
<div className="flex h-14 items-center px-4 md:px-6">
<Link to="/" className="flex items-center gap-2 mr-6 group">
<Globe className="h-5 w-5 text-foreground/80 group-hover:text-primary transition-colors" />
<span className="text-base font-semibold tracking-tight text-foreground">idp.global</span>
<Activity className="h-5 w-5 text-emerald-500 group-hover:text-emerald-400 transition-colors" />
<span className="text-base font-semibold tracking-tight text-foreground">uptime.link</span>
</Link>
<div className="flex items-center gap-1 text-sm text-muted-foreground">
<span>/</span>
@@ -61,7 +60,7 @@ const DocsLayout = () => {
<ExternalLink className="h-3 w-3" />
</a>
<a
href="https://code.foss.global/idp.global/idp.global"
href="https://code.foss.global/uptime.link/uptime.link"
className="text-sm text-muted-foreground hover:text-foreground transition-colors hidden md:flex items-center gap-1"
>
Source
@@ -69,7 +68,7 @@ const DocsLayout = () => {
</a>
<ThemeToggle />
<Button size="sm" className="h-8" asChild>
<a href="https://idp.global">Sign In</a>
<a href="https://uptime.link">Dashboard</a>
</Button>
</div>
</div>
@@ -97,7 +96,7 @@ const DocsLayout = () => {
className={cn(
"flex items-center gap-2 px-2 py-1.5 text-sm rounded-md transition-colors",
isActive
? "bg-primary/10 text-primary font-medium"
? "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 font-medium"
: "text-muted-foreground hover:text-foreground hover:bg-muted"
)}
>