import React, { useState, useEffect } from 'react';
import { HIGHLIGHT_FEATURES, STANDARD_FEATURES } from '../constants';
import { TerminalWindow } from './TerminalWindow';
import { MultiModelAnimation } from './MultiModelAnimation';
import { BridgeDiagram } from './BridgeDiagram';
import { SmartRouting } from './SmartRouting';
const COMPARISON_ROWS = [
{ label: "Sub-agent context", others: "Lost", claudish: "Full inheritance" },
{ label: "Image handling", others: "Breaks", claudish: "Native translation" },
{ label: "Tool calling", others: "Generic", claudish: "Per-model adapters" },
{ label: "Thinking modes", others: "Maybe", claudish: "Native support" },
{ label: "/commands", others: "Maybe", claudish: "Always work" },
{ label: "Plugins (agents, skills, hooks)", others: "No", claudish: "Full ecosystem" },
{ label: "MCP servers", others: "No", claudish: "Fully supported" },
{ label: "Team marketplaces", others: "No", claudish: "Just work" },
];
const FeatureSection: React.FC = () => {
const [statementIndex, setStatementIndex] = useState(0);
useEffect(() => {
const timer = setInterval(() => {
setStatementIndex(prev => (prev < 3 ? prev + 1 : prev));
}, 800);
return () => clearInterval(timer);
}, []);
return (
{/* 1. THE PROBLEM SECTION */}
{/* Radial Gradient Spot */}
Claude Code is incredible.
But what if you want to use other models?
{/* Terminal Comparison */}
{/* Without Claudish */}
➜ claude --model google/gemini-3-pro-preview
Error: Invalid model "google/gemini-3-pro-preview"
Only Anthropic models are supported.
Please use claude-3-opus or claude-3.5-sonnet.
{/* With Claudish */}
➜ claudish --model google/gemini-3-pro-preview
✓ Connected via OpenRouter
✓ Architecture: Claude Code 2.4.0
✓ Access OpenRouter's free tier — real top models, not scraps
>> Ready. What would you like to build?
{/* Architecture Animation */}
{/* 2. HOW IT WORKS SECTION */}
Native Translation. Not a Hack.
Bidirectional. Seamless. Invisible.
{/* PRIMARY VISUAL: BRIDGE DIAGRAM */}
{/* EXPLANATION CARDS */}
{/* Card 1: Intercept */}
Claudish sits between Claude Code and the API layer. Captures all calls to api.anthropic.com via standard proxy injection.
STATUS: LISTENING ON PORT 3000
{/* Card 2: Translate */}
{''} --> {'{function_call}'}
{''} <-- {'{content: json}'}
Bidirectional schema translation. Converts Anthropic XML tools to OpenAI/Gemini JSON specs and back again in real-time.
{/* Card 3: Execute */}
Target model executes logic natively. Response is re-serialized to look exactly like Claude 3.5 Sonnet output.
RESULT: 100% COMPATIBILITY
{/* KEY STATEMENT */}
= 1 ? 'opacity-100 translate-y-0' : 'opacity-0 translate-y-4'}`}>
Zero patches to Claude Code binary.
= 2 ? 'opacity-100 translate-y-0' : 'opacity-0 translate-y-4'}`}>
Every update works automatically.
= 3 ? 'opacity-100 translate-y-0' : 'opacity-0 translate-y-4'}`}>
Translation happens at runtime — invisible and instant.
{/* DIALECT LIST */}
{['ANTHROPIC', 'OPENAI', 'GOOGLE', 'X.AI', 'MISTRAL', 'DEEPSEEK', '+580 MORE'].map((provider) => (
[{provider}]
))}
{/* NEW SECTION: SMART ROUTING */}
{/* 3. FEATURE SHOWCASE */}
Every Feature. Every Model.
Full agent architecture compatibility.
{/* HIGHLIGHTED DIFFERENTIATORS */}
SYSTEM CAPABILITIES
{HIGHLIGHT_FEATURES.map((feature, idx) => (
{/* Top Badge */}
{feature.id}
{feature.badge}
{feature.icon}
{feature.title}
{feature.description}
{/* Corner Accent */}
))}
{/* DEMOS SECTION: COST & CONTEXT */}
{/* Cost/Top Models Terminal */}
Global Leaderboard
➜ claudish --top-models
{/* List Items */}
1
gemini-3-pro
$0.00
2,000K
3
claude-3.7-opus
$15.00
200K
5
mistral-large
$3.00
32K
{/* Models Search Terminal */}
Universal Registry
➜ claudish --models "vision fast"
Searching 583 models for 'vision fast'...
google/gemini-flash-1.5
Context: 1M • Vision: Yes • Speed: 110 tok/s
openai/gpt-4o-mini
Context: 128K • Vision: Yes • Speed: 95 tok/s
meta/llama-3.2-90b-vision
Context: 128K • Vision: Yes • Speed: 80 tok/s
(Use arrows to navigate, Enter to select)
{/* REPLACED TABLE SECTION */}
Competitive Analysis
LIVE
{/* ASCII Header Art Style */}
Claudish vs Other Proxies
Performance Comparison Matrix
{/* Column Headers */}
{/* Table Body */}
{COMPARISON_ROWS.map((row, idx) => (
{row.label}
{row.others}
{row.claudish}
))}
{/* Footer */}
"We didn't cut corners. That's the difference."
);
};
export default FeatureSection;