Polish usage tips close reminder layout
| | |
| | | .fixedSize(horizontal: false, vertical: true) |
| | | .frame(maxWidth: .infinity, alignment: .leading) |
| | | |
| | | HStack(alignment: .bottom, spacing: 16) { |
| | | Button { |
| | | doNotRemind.toggle() |
| | | } label: { |
| | |
| | | .frame(width: 18, height: 18) |
| | | |
| | | Text(doNotRemindTitle) |
| | | .font(.system(size: 13, weight: .medium)) |
| | | .foregroundStyle(.white.opacity(0.82)) |
| | | .font(.system(size: 13, weight: .semibold)) |
| | | .foregroundStyle(.white.opacity(0.86)) |
| | | .lineLimit(2) |
| | | .multilineTextAlignment(.leading) |
| | | } |
| | | .frame(maxWidth: .infinity, alignment: .leading) |
| | | .contentShape(Rectangle()) |
| | | } |
| | | .buttonStyle(.plain) |
| | | |
| | | HStack { |
| | | Spacer(minLength: 0) |
| | | .frame(maxWidth: .infinity, alignment: .leading) |
| | | |
| | | Button(action: onConfirm) { |
| | | Text(confirmTitle) |
| | |
| | | } |
| | | .buttonStyle(.plain) |
| | | } |
| | | .padding(.top, 4) |
| | | } |
| | | .padding(.horizontal, 24) |
| | | .padding(.vertical, 20) |
| | |
| | | previewCheckbox(title: tr("settings.hideAppNames"), highlighted: false) |
| | | previewCheckbox(title: tr("settings.hideUsageTips"), highlighted: true) |
| | | } |
| | | .frame(maxWidth: .infinity, alignment: .center) |
| | | .padding(10) |
| | | .background( |
| | | RoundedRectangle(cornerRadius: 10, style: .continuous) |
| | |
| | | .font(.system(size: 11, weight: .semibold)) |
| | | .foregroundStyle(Color.accentColor) |
| | | .lineLimit(2) |
| | | .multilineTextAlignment(.center) |
| | | .fixedSize(horizontal: false, vertical: true) |
| | | } |
| | | .frame(maxWidth: .infinity, alignment: .trailing) |
| | | .frame(maxWidth: .infinity, alignment: .center) |
| | | } |
| | | .padding(14) |
| | | .background( |
| | |
| | | <key>CFBundlePackageType</key> |
| | | <string>APPL</string> |
| | | <key>CFBundleShortVersionString</key> |
| | | <string>8.0.3</string> |
| | | <string>8.0.4</string> |
| | | <key>CFBundleVersion</key> |
| | | <string>20260625.1615</string> |
| | | <string>20260625.1655</string> |
| | | <key>LSApplicationCategoryType</key> |
| | | <string>public.app-category.utilities</string> |
| | | <key>LSMinimumSystemVersion</key> |
| | |
| | | |
| | | ## [Unreleased] |
| | | |
| | | ## [8.0.4] — 2026-06-25 |
| | | |
| | | - 优化 App Grid 使用技巧关闭提醒弹窗:设置页预览中的高亮说明改为居中显示,底部“不再提醒”选项与确认按钮同一行底部对齐 |
| | | - “不再提醒”文案字号和字重提升到与确认按钮一致的 13pt semibold,减少视觉层级断裂 |
| | | - 补强 `Scripts/usage_tips_close_reminder_qa.sh`,覆盖预览居中、底部行对齐和关闭提醒视觉排版断言 |
| | | - 版本号更新为 `8.0.4`,Build 更新为 `20260625.1655` |
| | | |
| | | ## [8.0.3] — 2026-06-25 |
| | | |
| | | - App Grid 解除标签拖拽新增原生 Core Animation 预览反馈:当应用图标拖到容器外/容器之间空白区域时,拖拽浮层会进入克制的碎纸切片动效;容器内部空白不触发该预览,实际解除标签仍沿用原有放手后确认流程 |
| | |
| | | - QA 决策:更新既有 `usage_tips_qa.sh`,新增 `usage_tips_close_reminder_qa.sh`,覆盖关闭提醒链路、modal 状态、29 语种文案完整性和非中文混入中文文案风险。 |
| | | - 版本决策:用户明确后续用户可见代码改动默认应递增版本;本次从 `8.0.2 (20260624.2341)` 更新为 `8.0.3 (20260625.1615)`。 |
| | | - QA 结果:`usage_tips_qa.sh`、`usage_tips_close_reminder_qa.sh`、`theme_settings_qa.sh`、`macos14_availability_typecheck_qa.sh`、`git diff --check`、`APP_BUILD=20260625.1615 bash src/build.sh`、`macos14_build_metadata_qa.sh src/build/TagLauncher.app` 均通过。 |
| | | - UI 补修:按用户截图反馈,将设置页预览里的高亮说明居中;将“不再提醒”选项移动到与确认按钮同一底部操作行,字体提升为 13pt semibold 并底部对齐。版本更新为 `8.0.4 (20260625.1655)`。 |
| | |
| | | edit_mode_views, |
| | | "settings preview must highlight the localized Hide usage tips control", |
| | | ) |
| | | require( |
| | | r"HStack\s*\(\s*alignment\s*:\s*\.bottom\s*,\s*spacing\s*:\s*16\s*\)(?P<body>.*?)doNotRemindTitle(?P<body2>.*?)confirmTitle", |
| | | edit_mode_views, |
| | | "reminder bottom row must align the do-not-remind checkbox with the confirm button", |
| | | ) |
| | | require( |
| | | r"Text\s*\(\s*doNotRemindTitle\s*\)(?P<body>.*?)font\s*\(\s*\.system\s*\(\s*size\s*:\s*13\s*,\s*weight\s*:\s*\.semibold\s*\)\s*\)", |
| | | edit_mode_views, |
| | | "do-not-remind text must use the same 13pt semibold weight as the confirm button", |
| | | ) |
| | | require( |
| | | r"previewCheckbox\s*\(\s*title\s*:\s*tr\(\"settings\.hideUsageTips\"\)(?P<body>.*?)\.frame\s*\(\s*maxWidth\s*:\s*\.infinity\s*,\s*alignment\s*:\s*\.center\s*\)", |
| | | edit_mode_views, |
| | | "settings preview checkbox row must be centered in the preview screenshot", |
| | | ) |
| | | require( |
| | | r"Text\s*\(\s*callout\s*\)(?P<body>.*?)\.multilineTextAlignment\s*\(\s*\.center\s*\)(?P<body2>.*?)\.frame\s*\(\s*maxWidth\s*:\s*\.infinity\s*,\s*alignment\s*:\s*\.center\s*\)", |
| | | edit_mode_views, |
| | | "settings preview callout must be centered under the highlighted checkbox row", |
| | | ) |
| | | |
| | | files = sorted(localization_dir.glob("*.json")) |
| | | if len(files) != 29: |
| | |
| | | |
| | | ## Done |
| | | |
| | | - [2026-06-25] 使用技巧关闭提醒视觉补修。 |
| | | - 结果: 设置页预览中的高亮说明改为居中显示;“不再提醒”选项与确认按钮改为同一底部操作行,字体提升为 13pt semibold 并与确认按钮底部对齐。 |
| | | - 范围: 只改 `UsageTipsCloseReminderBubble` 排版、版本号/changelog 和专项 QA 断言;不改关闭状态机、不改 29 语种文案。 |
| | | - 验证: `usage_tips_close_reminder_qa.sh`、`usage_tips_qa.sh`、`macos14_availability_typecheck_qa.sh`、完整构建和 build metadata QA。 |
| | | - 版本: `8.0.4 (20260625.1655)`。 |
| | | |
| | | - [2026-06-25] 使用技巧关闭提醒。 |
| | | - 结果: 点击 App Grid 使用技巧关闭按钮时先弹出提醒,说明可在“设置 > 通用”取消“隐藏使用技巧”重新查看;用户确认后才隐藏 tips,勾选“不再提醒”后后续关闭直接隐藏。 |
| | | - 范围: 关闭按钮链路、提醒弹窗、本地化设置页预览、`skipUsageTipsCloseReminder` 偏好、29 语种提醒文案、专项 QA。 |