Skip to content

Commit dc7f4f1

Browse files
committed
only use saved mode if enableAi is on
1 parent eb02bb2 commit dc7f4f1

File tree

3 files changed

+19
-14
lines changed

3 files changed

+19
-14
lines changed

special-pages/pages/new-tab/app/omnibar/components/OmnibarConsumer.js

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,10 @@ function OmnibarReadyState({ config, tabId }) {
4646
const { setEnableAi, setMode } = useContext(OmnibarContext);
4747
const modeForCurrentTab = useModeWithLocalPersistence(tabId, defaultMode);
4848

49-
/**
50-
* Respect the current tab's mode only if 'enableAi' is on.
51-
* Otherwise always search
52-
*
53-
* @type {Mode}
54-
*/
55-
const mode = (() => {
56-
if (enableAi) return modeForCurrentTab;
57-
return /** @type {const} */ ('search');
58-
})();
59-
6049
return (
6150
<>
6251
{showAiSetting && <AiSetting enableAi={enableAi} setEnableAi={setEnableAi} />}
63-
<Omnibar mode={mode} setMode={setMode} enableAi={showAiSetting && enableAi} tabId={tabId} />
52+
<Omnibar mode={modeForCurrentTab} setMode={setMode} enableAi={showAiSetting && enableAi} tabId={tabId} />
6453
</>
6554
);
6655
}

special-pages/pages/new-tab/app/omnibar/components/PersistentOmnibarValuesProvider.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,15 @@ export function useModeWithLocalPersistence(tabId, defaultMode) {
102102
if (!service) return;
103103
return service.onConfig((v) => {
104104
if (tabId && v.source === 'manual') {
105-
values?.update({ id: tabId, value: v.data.mode });
105+
if (v.data.enableAi === false) {
106+
values?.updateAll({ value: 'search' });
107+
} else {
108+
values?.update({ id: tabId, value: v.data.mode });
109+
}
106110
}
107111
setState(v.data.mode);
108112
});
109-
}, [service, tabId, values]);
113+
}, [service, tabId, values, defaultMode]);
110114

111115
return mode;
112116
}

special-pages/pages/new-tab/app/tabs/PersistentValue.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@ export class PersistentValue {
2222
}
2323
}
2424

25+
/**
26+
* Updates the value with every entry
27+
*
28+
* @param {object} args
29+
* @param {T} args.value
30+
*/
31+
updateAll({ value }) {
32+
for (const [key] of this.#values) {
33+
this.#values.set(key, value);
34+
}
35+
}
36+
2537
/**
2638
* @param {object} params
2739
* @param {string[]} params.preserve

0 commit comments

Comments
 (0)