feat: UI refresh batch 1 (home progress, single settings page, slim about) #24

Merged
layue13 merged 3 commits from feat/ui-refresh-1 into main 2026-11-11 08:31:38 +00:00
Owner

Requested by Ethyn · project thread

UI refresh, batch 1

  1. Home progress card – pressing 进入服务器/更新 turns the bottom card into progress state (title + %, 8px terracotta bar, downloaded size/speed, cancel, 4-step indicator, error + retry). Driven by new ClientSyncProgress, which only listens to the existing task executor; download logic unchanged. Label "Start Game" → 进入服务器 (en: Join Server) in en/zh_Hans/zh_Hant.
  2. Single settings page – 通用 (language, download source) / 游戏 (memory slider, Java row + 高级… → JavaManagementPage) / 帮助 (logs, About). Sidebar tabs removed.
  3. Slim About – icon, name, version · 基于 HMCL, 检查更新, GPLv3 notice + third-party deps, source link, 复制诊断信息 (system/device/runtime info moved there).

Known gaps

  • Progress card covers first install / bundled install only; an already-installed pack still updates during launch (own dialog).
  • Percent is estimated from finished/seen tasks; size shown is downloaded MB + speed (no total available).
  • Proxy / download-thread settings no longer have a UI entry (DownloadSettingsPage left unused).
  • Java row text is generic ("Java · 自动管理"); no version shown.
  • Not visually verified (no screenshots).

The progress bar now uses the file total announced by the sync task as its denominator (indeterminate until known).

Checked: :HMCL:checkstyleMain :HMCL:test pass.

🤖 Generated with Claude Code

<!-- claude-projects-attribution --> _Requested by **Ethyn** · [project thread](https://claude.ai/code/project/chan_012Q1Um8uZR35H2oYN3r8iSY?thread=cmsg_012Q1Um8uZR35H2oYN3r8iSY5WLnzuUkngNMfTTr5jYdE8)_ ## UI refresh, batch 1 1. **Home progress card** – pressing 进入服务器/更新 turns the bottom card into progress state (title + %, 8px terracotta bar, downloaded size/speed, cancel, 4-step indicator, error + retry). Driven by new `ClientSyncProgress`, which only listens to the existing task executor; download logic unchanged. Label "Start Game" → 进入服务器 (en: Join Server) in en/zh_Hans/zh_Hant. 2. **Single settings page** – 通用 (language, download source) / 游戏 (memory slider, Java row + 高级… → JavaManagementPage) / 帮助 (logs, About). Sidebar tabs removed. 3. **Slim About** – icon, name, version · 基于 HMCL, 检查更新, GPLv3 notice + third-party deps, source link, 复制诊断信息 (system/device/runtime info moved there). ## Known gaps - Progress card covers first install / bundled install only; an already-installed pack still updates during launch (own dialog). - Percent is estimated from finished/seen tasks; size shown is downloaded MB + speed (no total available). - Proxy / download-thread settings no longer have a UI entry (DownloadSettingsPage left unused). - Java row text is generic ("Java · 自动管理"); no version shown. - Not visually verified (no screenshots). The progress bar now uses the file total announced by the sync task as its denominator (indeterminate until known). Checked: `:HMCL:checkstyleMain :HMCL:test` pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
layue13 added 2 commits 2026-11-11 08:20:38 +00:00
feat: UI refresh batch 1 (home progress card, single settings page, slim about)
Mirror Repository / Mirror to CNB (push) Skipped
Mirror Repository / Mirror to Gitee (push) Skipped
26187e6f61
- Home: join/update button turns the bottom card into an in-place progress
  view (percent, thin bar, downloaded size/speed, cancel, four-step indicator,
  error + retry). ClientSyncProgress mirrors the existing task executor.
- Label "Start Game" -> "进入服务器" (en: Join Server) in en/zh_Hans/zh_Hant.
- Settings merged into one page: General / Game / Help cards; Java management
  and About open as sub pages.
- About trimmed; system/device/runtime info moved into "Copy diagnostics".

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TiBPbVGBHNHdzqfq1L5tch
fix: base home sync progress on announced download total
Mirror Repository / Mirror to CNB (push) Skipped
Mirror Repository / Mirror to Gitee (push) Skipped
Java CI / build (pull_request) Canceled after 1m41s
bcefa87e27
The percentage used finished/seen task counts, which hit the 99% cap as soon
as the first tasks finished and then stayed there while new tasks were still
being discovered. Use the "total" property announced by the sync task as the
denominator and count finished file downloads; stay indeterminate until known.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TiBPbVGBHNHdzqfq1L5tch
layue13 added 1 commit 2026-11-11 08:22:09 +00:00
Merge origin/main into feat/ui-refresh-1
Mirror Repository / Mirror to CNB (push) Skipped
Mirror Repository / Mirror to Gitee (push) Skipped
Java CI / build (pull_request) Successful in 8m50s
8eec436e23
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TiBPbVGBHNHdzqfq1L5tch
layue13 merged commit f183b4a5dc into main 2026-11-11 08:31:38 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: TDLM/HMCL#24