feat(web): 积分中心 - 改为全局弹窗并去掉独立钱包页
顶栏、账户菜单、命令面板、画布余额和 /wallet 回跳都打开同一积分中心弹窗,支付结果不再跳进整页超市。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -21,7 +21,7 @@ describe("workspace route loading", () => {
|
||||
const modules = source("../src/lib/workspace-route-modules.ts");
|
||||
const navigation = source("../src/components/layout/workspace-sidebar-nav.tsx");
|
||||
|
||||
for (const route of ["projects", "canvas", "assets", "wallet", "create"]) {
|
||||
for (const route of ["projects", "canvas", "assets", "create"]) {
|
||||
expect(modules).toContain(`${route}: () => import`);
|
||||
}
|
||||
expect(modules).toContain('projectDetail: () => import("@/pages/projects/detail")');
|
||||
@@ -123,15 +123,29 @@ describe("workspace route loading", () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe("wallet balance summary", () => {
|
||||
test("uses the workspace surface instead of an inverted primary button surface", () => {
|
||||
describe("workspace wallet entry", () => {
|
||||
test("opens the credits modal instead of a dedicated wallet page", () => {
|
||||
const router = source("../src/router.tsx");
|
||||
const modules = source("../src/lib/workspace-route-modules.ts");
|
||||
const host = source("../src/components/layout/workspace-wallet-modal.tsx");
|
||||
const palette = source("../src/components/layout/workspace-command-palette.tsx");
|
||||
const canvasTopBar = source("../src/pages/canvas/canvas-project-top-bar.tsx");
|
||||
const topBar = source("../src/components/layout/workspace-top-bar.tsx");
|
||||
const css = source("../src/styles/globals.css");
|
||||
const rule = css.match(/\.credit-balance-card \{[^}]+}/)?.[0] || "";
|
||||
|
||||
expect(rule).toContain("background: var(--library-surface)");
|
||||
expect(rule).toContain("color: var(--foreground)");
|
||||
expect(rule).not.toContain("--btn-solid-bg");
|
||||
expect(css.match(/\.wallet-balance-inner \{/g)).toHaveLength(3);
|
||||
expect(css).not.toContain(".wallet-library-page .wallet-balance-inner { padding-left: 0; }");
|
||||
expect(router).toContain('path: "/wallet"');
|
||||
expect(router).toContain("element: <RequireAuth>{null}</RequireAuth>");
|
||||
expect(router).not.toContain("WalletPage");
|
||||
expect(router).not.toContain("loadWalletPage");
|
||||
expect(modules).not.toContain("pages/wallet");
|
||||
expect(host).toContain("pathname !== \"/wallet\"");
|
||||
expect(host).toContain("openWorkspaceWallet");
|
||||
expect(palette).toContain('run: () => openWorkspaceWallet()');
|
||||
expect(palette).not.toContain('"/wallet"');
|
||||
expect(canvasTopBar).toContain("openWorkspaceWallet()");
|
||||
expect(canvasTopBar).not.toContain('to="/wallet"');
|
||||
expect(topBar).toContain("openWorkspaceWallet()");
|
||||
expect(css).not.toContain(".wallet-library-page");
|
||||
expect(css).not.toContain(".wallet-market-page");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user