diff --git a/frontend/components/landing/InstitutionalLandingPage.tsx b/frontend/components/landing/InstitutionalLandingPage.tsx index 44a941eb..e3fb1c37 100644 --- a/frontend/components/landing/InstitutionalLandingPage.tsx +++ b/frontend/components/landing/InstitutionalLandingPage.tsx @@ -52,22 +52,8 @@ const COVERAGE_ZH = [ "付费电报实时通知", ]; -const FREE_FEATURES_EN = [ - "Basic temperature dashboards", - "Delayed METAR observations (1 hour)", - "Limited city watchlists", - "Standard model stacked probability chart", -]; - -const FREE_FEATURES_ZH = [ - "基础温度气象看板", - "延迟的 METAR 机场实测 (1小时)", - "有限的城市自选列表", - "基础模型概率堆栈图", -]; - const PRO_FEATURES_EN = [ - "Everything in Free", + "Real-time METAR observations & runway sensor data", "Real-time METAR observations & alerts", "DEB blend forecast model", "Market-implied temperature pricing", @@ -77,7 +63,7 @@ const PRO_FEATURES_EN = [ ]; const PRO_FEATURES_ZH = [ - "包含所有免费版功能", + "实时 METAR 机场实测与跑道传感器数据", "实时 METAR 机场实测与预警", "DEB 智能融合预测模型", "市场隐含温度定价与估值", @@ -348,120 +334,43 @@ function InstitutionalLandingScreen() {
- {/* Header */}

{isEn ? "PRICING" : "价格方案"}

- {isEn ? "We keep it simple" : "简单清晰的定价"} + {isEn ? "Simple, transparent pricing" : "简单透明的定价"}

{isEn - ? "The industry's leading tools at a price to suit everyone." - : "领先的气象数据服务,以合适的价格满足不同交易需求。"} + ? "One plan. Full access. No hidden fees." + : "一个方案,全部功能,无隐藏费用。"}

- {/* Toggle */} -
-
- - -
-
- - {/* Pricing Cards */} -
- {/* Free Plan */} -
-
-
-

- {isEn ? "Free" : "免费版"} -

-
-

- {isEn - ? "The ultimate beginner package — basic weather information to get started." - : "适合初学者的基础气象信息与看板服务,快速体验平台。"} -

-
- $0 - / {isEn ? "month" : "月"} -
-

- {isEn ? "Free forever" : "永久免费"} -

- -
-
    - {(isEn ? FREE_FEATURES_EN : FREE_FEATURES_ZH).map((feature) => ( -
  • - - {feature} -
  • - ))} -
-
-
- -
- - {isEn ? "Get Started" : "开始使用"} - -
-
- - {/* Pro Plan */} -
- {/* Popular Badge */} +
+
- {isEn ? "Recommended" : "推荐方案"} + {isEn ? "Pro Terminal" : "专业终端"}
-
-

- {isEn ? "Pro" : "专业版"} -

-
-

+

+ PolyWeather Pro +

+

{isEn - ? "For active traders and institutions who need real-time, settlement-ready intelligence." - : "为活跃交易员和机构提供实时、结算级气象交易数据与决策支持。"} + ? "Full access to the institutional weather-market terminal. Live METAR, DEB forecasts, probability distribution, AI decision cards, and real-time alerts." + : "完整访问机构级天气市场终端。实时 METAR、DEB 预报、概率分布、AI 决策卡片、实时通知。"}

- {billingCycle === "annual" ? "$8" : "$10"} + $10 + + + / {isEn ? "month" : "月"} - / {isEn ? "month" : "月"}

- {billingCycle === "annual" - ? (isEn ? "Billed annually ($96/year)" : "按年计费 (共 $96/年)") - : (isEn ? "Billed monthly" : "按月计费")} + {isEn ? "Billed monthly. Cancel anytime." : "按月计费,随时可取消。"}

@@ -469,7 +378,9 @@ function InstitutionalLandingScreen() { {(isEn ? PRO_FEATURES_EN : PRO_FEATURES_ZH).map((feature) => (
  • - {feature} + + {feature} +
  • ))} @@ -481,8 +392,13 @@ function InstitutionalLandingScreen() { href="/account" className="block w-full rounded-xl bg-slate-950 py-3 text-center text-sm font-semibold text-white shadow-sm transition hover:bg-slate-800" > - {isEn ? "Subscribe Now" : "立即付费订阅"} + {isEn ? "Subscribe for $10/month" : "立即订阅 $10/月"} +

    + {isEn + ? "Login required. Payment via USDC on Polygon." + : "需先登录。通过 Polygon 链 USDC 支付。"} +

    diff --git a/frontend/public/android-chrome-192x192.png b/frontend/public/android-chrome-192x192.png index 7fd8ceb3..2680e797 100644 Binary files a/frontend/public/android-chrome-192x192.png and b/frontend/public/android-chrome-192x192.png differ diff --git a/frontend/public/android-chrome-512x512.png b/frontend/public/android-chrome-512x512.png index 2d1834a1..c009d57c 100644 Binary files a/frontend/public/android-chrome-512x512.png and b/frontend/public/android-chrome-512x512.png differ diff --git a/frontend/public/apple-touch-icon.png b/frontend/public/apple-touch-icon.png index 36e9ee9a..d2880cd8 100644 Binary files a/frontend/public/apple-touch-icon.png and b/frontend/public/apple-touch-icon.png differ diff --git a/frontend/public/favicon-16x16.png b/frontend/public/favicon-16x16.png index 6658c578..79d399ac 100644 Binary files a/frontend/public/favicon-16x16.png and b/frontend/public/favicon-16x16.png differ diff --git a/frontend/public/favicon-32x32.png b/frontend/public/favicon-32x32.png index 67e039f8..befc4488 100644 Binary files a/frontend/public/favicon-32x32.png and b/frontend/public/favicon-32x32.png differ diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico index be9ce9db..0d37a4b3 100644 Binary files a/frontend/public/favicon.ico and b/frontend/public/favicon.ico differ diff --git a/src/data_collection/polymarket_ws_cache.py b/src/data_collection/polymarket_ws_cache.py index aba3bebb..1fa92efa 100644 --- a/src/data_collection/polymarket_ws_cache.py +++ b/src/data_collection/polymarket_ws_cache.py @@ -296,6 +296,7 @@ class PolymarketWsQuoteCache: if event_type in { "best_bid_ask", + "best_bid_ask_price_change", "price_change", "book", "last_trade_price",