Skip to content

feat: new React Web GUI with TypeScript + Tailwind CSS - #10

Merged
Yaemikoreal merged 3 commits into
mainfrom
webgui
May 13, 2026
Merged

Yaemikoreal merged 3 commits into
mainfrom
webgui

Conversation

@Yaemikoreal

Copy link
Copy Markdown
Owner

Complete rewrite of Web GUI as a modern React SPA (web_gui/):

  • React 18 + TypeScript + Tailwind CSS v4 + Vite
  • Four pages: Geocode, Map Browse, AI Assistant, Configuration
  • SSE streaming for batch geocoding progress and AI chat
  • TanStack Query for server state management
  • Design tokens from UIUX design reference (warm orange theme)
  • All 14 existing API features covered (F1-F14)
  • yaelocus gui command for launching the new GUI
  • Backend: add view_map_file endpoint, fix batch/stream for UploadFile

Description

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code refactoring
  • Performance improvement

Testing

  • Unit tests pass
  • Manual testing performed

Checklist

  • Code follows the project's style guidelines
  • Self-review completed
  • Comments added for complex logic
  • Documentation updated (if needed)
  • No new warnings introduced
  • Tests added/updated (if needed)

Screenshots (if applicable)

Additional Notes

Yaemikoreal and others added 3 commits May 11, 2026 17:40
Complete rewrite of Web GUI as a modern React SPA (web_gui/):
- React 18 + TypeScript + Tailwind CSS v4 + Vite
- Four pages: Geocode, Map Browse, AI Assistant, Configuration
- SSE streaming for batch geocoding progress and AI chat
- TanStack Query for server state management
- Design tokens from UIUX design reference (warm orange theme)
- All 14 existing API features covered (F1-F14)
- yaelocus gui command for launching the new GUI
- Backend: add view_map_file endpoint, fix batch/stream for UploadFile

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- P0 致命 Bug: API 协议不一致、SSE 无结果、直辖市省份匹配、自治区 cache key 等 7 项
- P1 性能: ThreadPoolExecutor 并行批处理、BallTree 空间索引、Haversine 统一、坐标批量转换等 6 项
- P2 架构安全: 坐标极值防护、XSS 防护、CORS 白名单、任务持久化、端口协商、config 热更新等 7 项
- P3 Web GUI: 类型统一、轮询泄漏、loading/error 状态、SSE 超时、ChatPanel throttle 等 7 项
- P4+ 深度修复: Python 3.9 兼容性、check_batch 副作用、TSP 2-opt 开放路径、JS 外部化、内存 LRU 缓存等 6 项
- 新增: yaelocus gui 首次运行自动 npm install + build,之后秒级跳过

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- onclick 属性中 json.dumps() 输出未 HTML 转义,双引号打断 HTML 属性导致 JS 语法错误
- 改用 html.escape(json.dumps(...), quote=True) 安全转义
- create_map_with_routes() 中同样修复 .replace("'", ...) 不完整转义
- 距离测算面板从始终展开改为右下角折叠式浮动按钮,点击展开/关闭
- _ensure_shared_js() 改为始终写入最新版本

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Yaemikoreal
Yaemikoreal merged commit b2eea4f into main May 13, 2026
1 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant