Skip to content

Commit 5d48ebc

Browse files
authored
Merge pull request #4261 from cardstack/cs-10542-askact-toggle-is-missing-a-default-state-when-opening-new
Fix Ask/Act toggle missing default selection on new session
2 parents 1a8518f + b9ff840 commit 5d48ebc

2 files changed

Lines changed: 30 additions & 3 deletions

File tree

packages/host/app/components/ai-assistant/llm-mode-toggle.gts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,17 @@ interface Signature {
2020
}
2121

2222
export default class LLMModeToggle extends Component<Signature> {
23+
private get selected(): LLMMode {
24+
return this.args.selected === 'act' ? 'act' : 'ask';
25+
}
26+
2327
<template>
2428
<div class='llm-mode-toggle' ...attributes>
2529
<Tooltip @placement='top'>
2630
<:trigger>
2731
<button
2832
type='button'
29-
class='llm-mode-option {{if (eq @selected "ask") "selected"}}'
33+
class='llm-mode-option {{if (eq this.selected "ask") "selected"}}'
3034
data-test-llm-mode-option='ask'
3135
disabled={{@disabled}}
3236
{{on 'click' (fn this.handleOptionClick 'ask')}}
@@ -45,7 +49,7 @@ export default class LLMModeToggle extends Component<Signature> {
4549
<:trigger>
4650
<button
4751
type='button'
48-
class='llm-mode-option {{if (eq @selected "act") "selected"}}'
52+
class='llm-mode-option {{if (eq this.selected "act") "selected"}}'
4953
data-test-llm-mode-option='act'
5054
disabled={{@disabled}}
5155
{{on 'click' (fn this.handleOptionClick 'act')}}
@@ -102,7 +106,7 @@ export default class LLMModeToggle extends Component<Signature> {
102106

103107
@action
104108
private handleOptionClick(mode: LLMMode) {
105-
if (mode !== this.args.selected) {
109+
if (mode !== this.selected) {
106110
this.args.onChange(mode);
107111
}
108112
}

packages/host/tests/acceptance/ai-assistant-test.gts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3008,6 +3008,29 @@ module('Acceptance | AI Assistant tests', function (hooks) {
30083008
.exists();
30093009
});
30103010

3011+
test('ask/act toggle defaults to ask on new session', async function (assert) {
3012+
await visitOperatorMode({
3013+
stacks: [
3014+
[
3015+
{
3016+
id: `${testRealmURL}index`,
3017+
format: 'isolated',
3018+
},
3019+
],
3020+
],
3021+
});
3022+
3023+
await click('[data-test-open-ai-assistant]');
3024+
await waitFor('[data-room-settled]');
3025+
3026+
assert
3027+
.dom('[data-test-llm-mode-option="ask"]')
3028+
.hasClass('selected', 'Ask is selected by default on new session');
3029+
assert
3030+
.dom('[data-test-llm-mode-option="act"]')
3031+
.doesNotHaveClass('selected', 'Act is not selected by default');
3032+
});
3033+
30113034
test('new session inherits llm mode from current room', async function (assert) {
30123035
await visitOperatorMode({
30133036
stacks: [

0 commit comments

Comments
 (0)