← back to Ken
react-dash/src/setup/steps/Welcome.jsx
70 lines
import React from 'react';
const FEATURES = [
{ title: 'Market Intelligence', desc: 'Scans Polymarket for weather prediction markets and identifies profitable opportunities', icon: 'M13 7h8m0 0v8m0-8l-8 8-4-4-6 6' },
{ title: 'Weather Forecasting', desc: 'Pulls real NWS forecast data and builds probability models for weather outcomes', icon: 'M3 15a4 4 0 004 4h9a5 5 0 10-.1-9.999 5.002 5.002 0 10-9.78 2.096A4.001 4.001 0 003 15z' },
{ title: 'Automated Trading', desc: 'Places bets on Polymarket when edges exceed your risk threshold, fully automated', icon: 'M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z' },
];
const PIPELINE = [
'Connect to Polymarket API',
'Ingest weather prediction markets',
'Fetch NWS forecast data',
'Generate AI probability models',
'Calculate edges & signals',
'Execute trades automatically',
];
export default function Welcome({ next }) {
return (
<div className="space-y-8">
<div className="text-center">
<h1 className="text-4xl font-bold wizard-gradient mb-3">Welcome to Poly</h1>
<p className="text-gray-400 text-lg">Weather-forecast micro-betting on Polymarket</p>
</div>
<div className="grid grid-cols-3 gap-4">
{FEATURES.map(f => (
<div key={f.title} className="card text-center">
<div className="w-10 h-10 rounded-lg bg-blue-500/10 flex items-center justify-center mx-auto mb-3">
<svg className="w-5 h-5 text-blue-400" fill="none" stroke="currentColor" strokeWidth="1.5" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" d={f.icon} />
</svg>
</div>
<h3 className="font-semibold text-sm mb-1">{f.title}</h3>
<p className="text-xs text-gray-500 leading-relaxed">{f.desc}</p>
</div>
))}
</div>
<div className="card">
<h3 className="font-semibold text-sm mb-3">How it works</h3>
<div className="grid grid-cols-2 gap-2">
{PIPELINE.map((p, i) => (
<div key={i} className="flex items-center gap-3 py-1.5">
<span className="w-6 h-6 rounded-full bg-blue-500/15 text-blue-400 flex items-center justify-center text-xs font-bold flex-shrink-0">{i + 1}</span>
<span className="text-sm text-gray-300">{p}</span>
</div>
))}
</div>
</div>
<div className="card bg-yellow-500/5 border-yellow-500/20">
<div className="flex items-start gap-3">
<svg className="w-5 h-5 text-yellow-400 mt-0.5 flex-shrink-0" fill="none" stroke="currentColor" strokeWidth="1.5" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" d="M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z" />
</svg>
<div>
<p className="text-sm font-medium text-yellow-400">You'll need Polymarket Builder API keys</p>
<p className="text-xs text-gray-400 mt-1">Go to polymarket.com → Settings → Builder tab to create API credentials. You can also skip this and use paper mode.</p>
</div>
</div>
</div>
<div className="flex justify-center">
<button onClick={next} className="wizard-btn">Get Started</button>
</div>
</div>
);
}