diff --git a/web/default/src/features/auth/auth-layout.tsx b/web/default/src/features/auth/auth-layout.tsx index 5c1b10125..9ca164254 100644 --- a/web/default/src/features/auth/auth-layout.tsx +++ b/web/default/src/features/auth/auth-layout.tsx @@ -30,7 +30,7 @@ export function AuthLayout({ children }: AuthLayoutProps) { const { systemName, logo, loading } = useSystemConfig() return ( -
+
. For commercial licensing, please contact admin@modelstoken.com */ import { Link } from '@tanstack/react-router' -import { ArrowRight } from 'lucide-react' +import { ArrowRight, Zap, Shield, Layers, BarChart3, Key, GitBranch } from 'lucide-react' import { useTranslation } from 'react-i18next' import { useStatus } from '@/hooks/use-status' import { Button } from '@/components/ui/button' @@ -32,6 +32,7 @@ const T = { surface: '#0F1419', border: '#1A1F29', accent: '#00D2FF', + accentDim: '#0099BB', green: '#28C840', yellow: '#FEBC2E', gray: '#5C6370', @@ -40,6 +41,15 @@ const T = { red: '#FF5F57', } +const features = [ + { icon: Zap, title: 'Multi-model Routing', desc: 'Intelligent routing with automatic failover and load balancing' }, + { icon: Key, title: 'Key Management', desc: 'Centralized API key lifecycle management with usage tracking' }, + { icon: Shield, title: 'Access Control', desc: 'Fine-grained permissions, rate limiting, and token policies' }, + { icon: BarChart3, title: 'Real-time Monitoring', desc: 'Live dashboards with request latency and cost analytics' }, + { icon: Layers, title: 'OpenAI Compatible', desc: 'Drop-in replacement for OpenAI API with zero code changes' }, + { icon: GitBranch, title: 'Model Mapping', desc: 'Map model names and customize per-channel behavior' }, +] + export function Hero(props: HeroProps) { const { t } = useTranslation() const { status } = useStatus() @@ -49,22 +59,33 @@ export function Hero(props: HeroProps) { return (
- {/* Subtle top glow */} + {/* Grid background texture */} +
+ + {/* Top glow */}
-
+
{/* ── Hero ── */}
{/* Headline */}

{t('Unified LLM')}{' '} @@ -72,12 +93,12 @@ export function Hero(props: HeroProps) {

{/* Subtitle */} -

+

{t('One endpoint for all models. OpenAI-compatible, switch and go.')}

{/* CTA */} -
+
{props.isAuthenticated ? (
) diff --git a/web/default/src/features/home/index.tsx b/web/default/src/features/home/index.tsx index b20a4beec..87e8832d1 100644 --- a/web/default/src/features/home/index.tsx +++ b/web/default/src/features/home/index.tsx @@ -62,8 +62,10 @@ export function Home() { return ( - -