下一步先做
${escapeHtml(detailTabs.find((tab) => tab.value === activeTab)?.label || "账号概览")}
-
${escapeHtml(selected ? `先围绕 ${getAccountName(selected)} 做导入、分析和相似扩展。` : "先从账号池里选一个对象,再继续导入和分析。")}
+
${escapeHtml(selected ? `先围绕 ${getAccountName(selected)} 做导入、分析和相似扩展。` : "先从账号池里选一个对象,再继续导入和分析。")}
${actionTag("导入当前对标", "open-import-selected-account")}
${actionTag("账号分析", "analyze-selected-account")}
${actionTag("查相似", "open-similar-search")}
+
当前对标 ${escapeHtml(getAccountName(selected) || "未选中")}
${escapeHtml(importedSources.length ? `已接入 ${importedSources.length}` : "未接入项目")}
${escapeHtml(tracked ? "已加入跟踪" : "未加入跟踪")}
diff --git a/web/storyforge-web-v4/tests/workbench-pages.test.mjs b/web/storyforge-web-v4/tests/workbench-pages.test.mjs
index 62dc455..0922380 100644
--- a/web/storyforge-web-v4/tests/workbench-pages.test.mjs
+++ b/web/storyforge-web-v4/tests/workbench-pages.test.mjs
@@ -224,6 +224,14 @@ test("discovery and production screens expose mobile focus cards with next-step
assert.match(cssMobile, /\.production-mobile-task-deck/);
});
+test("mobile discovery prioritizes the selected-account task flow before the scrollable account list", () => {
+ const discovery = extractBetween(APP, "function renderDiscoveryScreen()", "function renderTrackingScreen()");
+ assert.match(discovery, /mobile-discovery-priority/);
+ assert.match(discovery, /mobile-discovery-selected-summary/);
+ assert.match(discovery, /mobile-account-list/);
+ assert.match(discovery, /mobile-discovery-priority[\s\S]*mobile-account-list/);
+});
+
test("mobile heavy screens mark redundant desktop metric blocks for compact hiding", () => {
const discovery = extractBetween(APP, "function renderDiscoveryScreen()", "function renderTrackingScreen()");
const tracking = extractBetween(APP, "function renderTrackingScreen()", "function renderAutomationScreen()");