Commit Graph

117 Commits

Author SHA1 Message Date
2569718930@qq.com 4c9252688a Reduce dashboard CSS blast radius for scan terminal work
Dashboard.module.css mixed base shell styles with the entire scan terminal surface, making every decision-card or calendar styling pass risky. This extracts the scan terminal layer into its own CSS module and attaches that module root beside the existing dashboard root so global class selectors keep their current behavior.

Constraint: Preserve existing global scan-* class names and visual cascade.

Rejected: Rename scan classes into scoped module keys | too much DOM churn for a behavior-preserving CSS split.

Rejected: Split card/calendar/mobile rules in the same pass | safer to establish the scan-terminal layer first before finer component CSS ownership.

Confidence: high

Scope-risk: moderate

Reversibility: clean

Tested: npm run build

Not-tested: Pixel-level browser comparison across dark and light themes.
2026-04-28 09:54:47 +08:00
2569718930@qq.com 1543207ced Make dashboard decision cards feel product-ready
Users needed reassurance that unavailable quotes and long AI evidence are normal states, not broken systems. This adds a v1.5.5 upgrade announcement, softens market-unavailable copy, surfaces a one-line recommendation reason, and makes mobile cards prioritize observed temperature, expected high, peak timing, AI expansion, and a separate market line.

Constraint: Keep existing dashboard data contracts and avoid backend schema changes.
Rejected: Hide unavailable market rows entirely | users still need to know weather evidence remains usable without a quote.
Confidence: high
Scope-risk: moderate
Reversibility: clean
Tested: npm run build
Not-tested: Browser visual QA on physical mobile devices.
2026-04-28 07:48:47 +08:00
2569718930@qq.com 326bfe258e Make freshness and timing drive city-card trust
Users need to know whether a city can be acted on before reading the full explanation. City cards now expose METAR or official-observation freshness, model update timing, market quote freshness, and AI state in a dedicated trust block, while the calendar view groups rows into action-oriented timing buckets with a single reason per city.

Constraint: Keep the existing card and calendar data contracts; derive freshness and action reasons from fields already present in the frontend payload.
Rejected: Add another long explanatory paragraph | it would repeat the same trust problem instead of making the first glance clearer.
Confidence: high
Scope-risk: moderate
Reversibility: clean
Tested: npm run build
Not-tested: Live browser visual QA with stale METAR and delayed quote examples.
2026-04-28 07:33:46 +08:00
2569718930@qq.com 30b1f5e256 Surface city-card decision reasons before the paragraph
City decision cards already had enough evidence, but the first screen still forced users to read the longer explanation before seeing why a card mattered. The header now caps status chips at three high-priority signals and uses product-facing labels for observed breakouts, stale METARs, AI loading, missing market prices, strong model agreement, and next-report waits.

Constraint: The card should stay lightweight and avoid another explanatory section.
Rejected: Keep six mixed freshness chips in the header | too much noise for first-glance scanning.
Confidence: high
Scope-risk: narrow
Reversibility: clean
Tested: npm run build
Not-tested: Browser visual QA across all city states.
2026-04-28 07:17:24 +08:00
2569718930@qq.com e6010d8242 Make city decision cards easier to trust at a glance
The decision card now exposes deterministic guard state, data freshness, AI readiness and market sync directly in the card header so users can understand whether they are looking at fresh evidence, a fallback, or a stale/exception case before reading the full explanation.

Constraint: Keep the first useful read available while DeepSeek airport/HKO details are still streaming.\nRejected: Add another expanded evidence panel | header-level badges are faster to scan and avoid increasing card depth.\nConfidence: high\nScope-risk: narrow\nReversibility: clean\nTested: npm run build\nNot-tested: Browser visual QA on production data.
2026-04-28 06:52:00 +08:00
2569718930@qq.com 6f9d75c68f feat: implement ScanTerminalDashboard component for real-time weather opportunity tracking 2026-04-27 00:30:51 +08:00
2569718930@qq.com 312b366a50 feat: implement PolyWeather dashboard UI with Leaflet map integration and backend data collection support 2026-04-26 10:22:11 +08:00
2569718930@qq.com 1ee8408b1f feat: implement Leaflet map hook and AI-assisted city card forecast view for dashboard 2026-04-26 10:13:44 +08:00
2569718930@qq.com d54050ceb0 feat: implement AI-driven city weather analysis and market decision dashboard components 2026-04-26 10:02:54 +08:00
2569718930@qq.com da2126e33e feat: implement ScanTerminalDashboard with AI-driven city streaming and analysis features 2026-04-26 09:13:18 +08:00
2569718930@qq.com 1c644a59c6 feat: implement ScanTerminalDashboard component with AI streaming forecast and queue management 2026-04-26 08:19:00 +08:00
2569718930@qq.com 963b2098c0 feat: implement AI city scan proxy route and add premium dark theme dashboard styling 2026-04-26 04:32:46 +08:00
2569718930@qq.com d71d5979e1 feat: add scan terminal dashboard with AI city analysis integration 2026-04-26 02:47:24 +08:00
2569718930@qq.com 9bbb713d45 feat: implement scan terminal dashboard with dedicated API route and service layer 2026-04-26 02:22:56 +08:00
2569718930@qq.com e6dbef1ece feat: implement ScanTerminalDashboard component and associated CSS module for PolyWeather map interface 2026-04-26 01:55:30 +08:00
2569718930@qq.com fbacd24f33 Style pinned city card and add dashboard body scrolling 2026-04-26 01:16:30 +08:00
2569718930@qq.com c44888ace5 Constrain dashboard AI workspace scrolling 2026-04-26 01:05:56 +08:00
2569718930@qq.com 90fcb96fa7 Refine scan terminal focus and stale snapshot handling 2026-04-26 00:54:39 +08:00
2569718930@qq.com 3237f95e8c feat: implement scan terminal dashboard with real-time opportunity tracking and visualization components 2026-04-26 00:24:11 +08:00
2569718930@qq.com d5fb40a544 feat: implement weather dashboard components, state management, and API routes for terminal scanning and assistant chat 2026-04-25 06:42:24 +08:00
2569718930@qq.com 3083d6b8fe feat: implement scan terminal service with caching, background refresh, and AI-driven market analysis support 2026-04-25 04:25:17 +08:00
2569718930@qq.com 77c0597e74 feat: implement Polymarket data collection and dashboard UI for weather market analysis 2026-04-25 03:59:02 +08:00
2569718930@qq.com 0e5a1f2652 feat: implement ScanTerminalDashboard with modular components and backend integration for Polymarket data collection 2026-04-25 03:26:28 +08:00
2569718930@qq.com 62a12257f0 Upgrade V4 scan to city analysis 2026-04-25 02:19:37 +08:00
2569718930@qq.com 1db473d60a Fix opportunity group selection and probabilities 2026-04-25 01:41:45 +08:00
2569718930@qq.com df6a2c73ed Add V4 scan run logs 2026-04-25 01:09:08 +08:00
2569718930@qq.com 55461c20c2 Open scan map preview to free users 2026-04-25 00:08:21 +08:00
2569718930@qq.com 6c4867b757 Fix scan detail rail scrolling 2026-04-24 23:48:59 +08:00
2569718930@qq.com 091d2efef3 Add DeepSeek V4 scan review 2026-04-24 23:32:32 +08:00
2569718930@qq.com 02866ebf53 Tighten opportunity row layout 2026-04-24 22:29:30 +08:00
2569718930@qq.com f331673c8d Refine scan terminal opportunity layout 2026-04-24 15:00:02 +08:00
2569718930@qq.com 7203e743e0 Fix scan terminal light theme contrast 2026-04-24 14:46:53 +08:00
2569718930@qq.com 8f7ffae83d Group scan opportunities by city 2026-04-24 14:41:33 +08:00
2569718930@qq.com 3c50a72f56 Compare EMOS peak with DEB in scan list 2026-04-24 14:34:25 +08:00
2569718930@qq.com 42d4a4e198 Simplify scan opportunity list and speed quotes 2026-04-24 14:26:47 +08:00
2569718930@qq.com 5fc65cbd85 feat: implement dashboard detail panel with interactive charts and forecast modal components 2026-04-24 13:35:36 +08:00
2569718930@qq.com c61a3f500d feat: implement Polymarket read-only data service and add scan terminal dashboard components 2026-04-24 10:19:16 +08:00
2569718930@qq.com c05cdd17c6 feat: implement dashboard store and scan terminal components for city market analysis 2026-04-24 06:31:29 +08:00
2569718930@qq.com 92537b4637 feat: implement scan terminal dashboard with filtering, opportunity table, and detail panel components 2026-04-24 05:39:14 +08:00
2569718930@qq.com 5cc08249e2 feat: implement ScanTerminalDashboard with map visualization and opportunity tracking components 2026-04-24 05:09:19 +08:00
2569718930@qq.com 34594e6661 调整扫描面板并新增今日分析入口 2026-04-24 04:14:52 +08:00
2569718930@qq.com 4950e31c69 扩展扫描终端视图并优化温度标签 2026-04-24 03:30:55 +08:00
2569718930@qq.com 79b58a8b98 Add locale controls and distribution previews to scan terminal 2026-04-24 00:34:09 +08:00
2569718930@qq.com 3f7d3ddf34 Redesign the scan terminal layout for EMOS 2026-04-24 00:13:11 +08:00
2569718930@qq.com 9a2ef217eb feat: implement dashboard opportunity table and supporting UI components for weather market analysis 2026-04-23 23:03:26 +08:00
2569718930@qq.com b54c86cdb3 feat: implement dashboard layout with scan filter panel, KPI summary bar, and opportunity table components 2026-04-23 22:48:57 +08:00
2569718930@qq.com 79a4333aaf feat: implement PolyWeather dashboard layout with integrated map, weather visualization, and detail panels 2026-04-23 22:35:34 +08:00
2569718930@qq.com ca81fda287 feat: implement analysis service, dashboard components, and data collection utilities for PolyWeather 2026-04-23 21:10:22 +08:00
2569718930@qq.com 4f57d4ed1a feat: implement PolyWeather dashboard core components, state management, and API integration 2026-04-23 19:40:38 +08:00
2569718930@qq.com 73eeb11b88 feat: implement PolyWeather dashboard components and state management store 2026-04-23 10:31:09 +08:00