ui(onboarding): flat tab navigation + fix vertical-stacked button text

Onboarding was a 7-step linear wizard, same information hierarchy as
Settings but behaving like a modal. Replace with the SettingsShell tab
pattern: one row of six tabs (nodecheck / providers / company /
modelpool / executionmode / mission), free navigation, per-tab
completion ticks derived from the wizard's own validation rules.

Sub-fixes on the same pass:
- ActionButton: add whitespace-nowrap + shrink-0 so "选择" never
  stacks vertically on narrow containers. Global — every caller gets
  the correct behavior
- CompanyStep: CEO Runtime Provider/Model go vertical (space-y-3
  instead of grid-cols-2) so long names like "Fireworks AI" /
  "Kimi K2.5 Turbo Preview 0911" stay readable; workspace-path Input
  wrapped in min-w-0 flex-1 container so it yields, not the button
- MarkdownBody: render react-markdown in chat bubbles (was plain text)

i18n: added onboarding.stepsAria for the tablist label.
This commit is contained in:
ZacharyZhang-NY committed 2026-04-18 21:38:11 -04:00
1 parent ff5e22092a
commit c83d670050
16 files changed
+352 -60

No files matched your search

+3
View File
@@ -117,6 +117,7 @@ export const en: Record<string, string> = {
"onboarding.selectLanguage": "Select language",
"onboarding.welcomeSubtitle": "Build your AI company here.",
"onboarding.getStarted": "Get Started",
"onboarding.stepsAria": "Setup sections",
"onboarding.stepLabelNodeCheck": "Requirements",
"onboarding.stepLabelProviders": "Providers",
"onboarding.stepLabelCompany": "Company",
@@ -1307,6 +1308,8 @@ export const en: Record<string, string> = {
"models.disableToggle": "Disable {name}",
"models.ceoRuntime": "CEO runtime",
"models.poolSummary": "{enabled} / {total} models enabled",
"models.enableAll": "Enable all",
"models.disableAll": "Disable all",
// ── Title bar ──
"titlebar.minimize": "Minimize",
+3
View File
@@ -117,6 +117,7 @@ export const zh: Record<string, string> = {
"onboarding.selectLanguage": "选择语言",
"onboarding.welcomeSubtitle": "从这里开始搭你的 AI 公司。",
"onboarding.getStarted": "开始设置",
"onboarding.stepsAria": "配置步骤",
"onboarding.stepLabelNodeCheck": "环境检查",
"onboarding.stepLabelProviders": "AI 提供商",
"onboarding.stepLabelCompany": "公司",
@@ -1307,6 +1308,8 @@ export const zh: Record<string, string> = {
"models.disableToggle": "禁用 {name}",
"models.ceoRuntime": "CEO 当前运行时",
"models.poolSummary": "已启用 {enabled} / {total} 个模型",
"models.enableAll": "全部启用",
"models.disableAll": "全部禁用",
// ── 窗口标题栏 ──
"titlebar.minimize": "最小化",