authorgravatar for 168988030+heysonder@users.noreply.github.comsonder <168988030+heysonder@users.noreply.github.com> 2026-04-06 12:29:58-05:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-04-06 17:29:58+00:00
logc6f57a106493e893233a38b3b1132978c942c88e
tree79ab48ec97861f8e2f1931865bb712e6399caec4
parent340dbbb36e5198aa6a9a1bc1b20dbf5b86d3adb9
signature Signed by PGP key B5690EEEBB952194

Rename "Chat" to "Build" in interaction mode toggle (#1769)

Co-authored-by: Julius Marminge <julius0216@outlook.com>

2 files changed, 9 insertions(+), 9 deletions(-)

apps/web/src/components/ChatView.browser.tsx+5-5
...@@ -874,7 +874,7 @@ async function expectComposerActionsContained(): Promise<void> {...@@ -874,7 +874,7 @@ async function expectComposerActionsContained(): Promise<void> {
874}874}
875875
876async function waitForInteractionModeButton(876async function waitForInteractionModeButton(
877 expectedLabel: "Chat" | "Plan",877 expectedLabel: "Build" | "Plan",
878): Promise<HTMLButtonElement> {878): Promise<HTMLButtonElement> {
879 return waitForElement(879 return waitForElement(
880 () =>880 () =>
...@@ -2111,7 +2111,7 @@ describe("ChatView timeline estimator parity (full app)", () => {...@@ -2111,7 +2111,7 @@ describe("ChatView timeline estimator parity (full app)", () => {
2111 });2111 });
21122112
2113 try {2113 try {
2114 const initialModeButton = await waitForInteractionModeButton("Chat");2114 const initialModeButton = await waitForInteractionModeButton("Build");
2115 expect(initialModeButton.title).toContain("enter plan mode");2115 expect(initialModeButton.title).toContain("enter plan mode");
21162116
2117 window.dispatchEvent(2117 window.dispatchEvent(
...@@ -2124,7 +2124,7 @@ describe("ChatView timeline estimator parity (full app)", () => {...@@ -2124,7 +2124,7 @@ describe("ChatView timeline estimator parity (full app)", () => {
2124 );2124 );
2125 await waitForLayout();2125 await waitForLayout();
21262126
2127 expect((await waitForInteractionModeButton("Chat")).title).toContain("enter plan mode");2127 expect((await waitForInteractionModeButton("Build")).title).toContain("enter plan mode");
21282128
2129 const composerEditor = await waitForComposerEditor();2129 const composerEditor = await waitForComposerEditor();
2130 composerEditor.focus();2130 composerEditor.focus();
...@@ -2140,7 +2140,7 @@ describe("ChatView timeline estimator parity (full app)", () => {...@@ -2140,7 +2140,7 @@ describe("ChatView timeline estimator parity (full app)", () => {
2140 await vi.waitFor(2140 await vi.waitFor(
2141 async () => {2141 async () => {
2142 expect((await waitForInteractionModeButton("Plan")).title).toContain(2142 expect((await waitForInteractionModeButton("Plan")).title).toContain(
2143 "return to normal chat mode",2143 "return to normal build mode",
2144 );2144 );
2145 },2145 },
2146 { timeout: 8_000, interval: 16 },2146 { timeout: 8_000, interval: 16 },
...@@ -2157,7 +2157,7 @@ describe("ChatView timeline estimator parity (full app)", () => {...@@ -2157,7 +2157,7 @@ describe("ChatView timeline estimator parity (full app)", () => {
21572157
2158 await vi.waitFor(2158 await vi.waitFor(
2159 async () => {2159 async () => {
2160 expect((await waitForInteractionModeButton("Chat")).title).toContain("enter plan mode");2160 expect((await waitForInteractionModeButton("Build")).title).toContain("enter plan mode");
2161 },2161 },
2162 { timeout: 8_000, interval: 16 },2162 { timeout: 8_000, interval: 16 },
2163 );2163 );
apps/web/src/components/ChatView.tsx+4-4
...@@ -1476,7 +1476,7 @@ export default function ChatView({ threadId }: ChatViewProps) {...@@ -1476,7 +1476,7 @@ export default function ChatView({ threadId }: ChatViewProps) {
1476 type: "slash-command",1476 type: "slash-command",
1477 command: "default",1477 command: "default",
1478 label: "/default",1478 label: "/default",
1479 description: "Switch this thread back to normal chat mode",1479 description: "Switch this thread back to normal build mode",
1480 },1480 },
1481 ] satisfies ReadonlyArray<Extract<ComposerCommandItem, { type: "slash-command" }>>;1481 ] satisfies ReadonlyArray<Extract<ComposerCommandItem, { type: "slash-command" }>>;
1482 const query = composerTrigger.query.trim().toLowerCase();1482 const query = composerTrigger.query.trim().toLowerCase();
...@@ -4029,7 +4029,7 @@ export default function ChatView({ threadId }: ChatViewProps) {...@@ -4029,7 +4029,7 @@ export default function ChatView({ threadId }: ChatViewProps) {
4029 <form4029 <form
4030 ref={composerFormRef}4030 ref={composerFormRef}
4031 onSubmit={onSend}4031 onSubmit={onSend}
4032 className="mx-auto w-full min-w-0 max-w-[52rem]"4032 className="mx-auto w-full min-w-0 max-w-208"
4033 data-chat-composer-form="true"4033 data-chat-composer-form="true"
4034 >4034 >
4035 <div4035 <div
...@@ -4284,13 +4284,13 @@ export default function ChatView({ threadId }: ChatViewProps) {...@@ -4284,13 +4284,13 @@ export default function ChatView({ threadId }: ChatViewProps) {
4284 onClick={toggleInteractionMode}4284 onClick={toggleInteractionMode}
4285 title={4285 title={
4286 interactionMode === "plan"4286 interactionMode === "plan"
4287 ? "Plan mode — click to return to normal chat mode"4287 ? "Plan mode — click to return to normal build mode"
4288 : "Default mode — click to enter plan mode"4288 : "Default mode — click to enter plan mode"
4289 }4289 }
4290 >4290 >
4291 <BotIcon />4291 <BotIcon />
4292 <span className="sr-only sm:not-sr-only">4292 <span className="sr-only sm:not-sr-only">
4293 {interactionMode === "plan" ? "Plan" : "Chat"}4293 {interactionMode === "plan" ? "Plan" : "Build"}
4294 </span>4294 </span>
4295 </Button>4295 </Button>
42964296