Skip to content

Commit eddf907

Browse files
authored
feat: add ai overview minimum number of search results configuration (#625)
* feat: add ai overview minimum number of search results configuration * docs: update changelog * style: remove unless code
1 parent 9eac8f8 commit eddf907

5 files changed

Lines changed: 29 additions & 1 deletion

File tree

docs/content.en/docs/release-notes/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Information about release notes of Coco Server is provided here.
1717
- feat: add key monitoring during reset #615
1818
- feat: calculator extension add description #623
1919
- feat: support right-click actions after text selection #624
20+
- feat: add ai overview minimum number of search results configuration #625
2021

2122
### 🐛 Bug fix
2223

src/components/Settings/Extensions/components/Details/AiOverview/index.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ const AiOverview = () => {
2727
const setAiOverviewDelay = useExtensionsStore((state) => {
2828
return state.setAiOverviewDelay;
2929
});
30+
const aiOverviewMinQuantity = useExtensionsStore((state) => {
31+
return state.aiOverviewMinQuantity;
32+
});
33+
const setAiOverviewMinQuantity = useExtensionsStore((state) => {
34+
return state.setAiOverviewMinQuantity;
35+
});
3036

3137
const inputList = [
3238
{
@@ -39,6 +45,11 @@ const AiOverview = () => {
3945
value: aiOverviewDelay,
4046
onChange: setAiOverviewDelay,
4147
},
48+
{
49+
label: "Minimum Number of Search Results",
50+
value: aiOverviewMinQuantity,
51+
onChange: setAiOverviewMinQuantity,
52+
},
4253
];
4354

4455
return (

src/hooks/useSearch.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ export function useSearch() {
4747
const aiOverviewDelay = useExtensionsStore((state) => {
4848
return state.aiOverviewDelay;
4949
});
50+
const aiOverviewMinQuantity = useExtensionsStore((state) => {
51+
return state.aiOverviewMinQuantity;
52+
});
5053

5154
const { querySourceTimeout } = useConnectStore();
5255

@@ -106,7 +109,7 @@ export function useSearch() {
106109
enabledAiOverview &&
107110
aiOverviewServer &&
108111
aiOverviewAssistant &&
109-
filteredData.length > 5 &&
112+
filteredData.length >= aiOverviewMinQuantity &&
110113
!disabledExtensions.includes("AIOverview")
111114
) {
112115
timerRef.current = setTimeout(() => {
@@ -210,6 +213,7 @@ export function useSearch() {
210213
disabledExtensions,
211214
aiOverviewCharLen,
212215
aiOverviewDelay,
216+
aiOverviewMinQuantity,
213217
]
214218
);
215219

src/hooks/useSyncStore.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ export const useSyncStore = () => {
109109
return state.setAiOverviewDelay;
110110
});
111111
const setAiOverview = useShortcutsStore((state) => state.setAiOverview);
112+
const setAiOverviewMinQuantity = useExtensionsStore((state) => {
113+
return state.setAiOverviewMinQuantity;
114+
});
112115

113116
useEffect(() => {
114117
if (!resetFixedWindow) {
@@ -201,6 +204,7 @@ export const useSyncStore = () => {
201204
disabledExtensions,
202205
aiOverviewCharLen,
203206
aiOverviewDelay,
207+
aiOverviewMinQuantity,
204208
} = payload;
205209

206210
setQuickAiAccessServer(quickAiAccessServer);
@@ -210,6 +214,7 @@ export const useSyncStore = () => {
210214
setDisabledExtensions(disabledExtensions);
211215
setAiOverviewCharLen(aiOverviewCharLen);
212216
setAiOverviewDelay(aiOverviewDelay);
217+
setAiOverviewMinQuantity(aiOverviewMinQuantity);
213218
}),
214219
]);
215220

src/stores/extensionsStore.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ export type IExtensionsStore = {
1717
setAiOverviewCharLen: (aiOverviewCharLen: number) => void;
1818
aiOverviewDelay: number;
1919
setAiOverviewDelay: (aiOverviewDelay: number) => void;
20+
aiOverviewMinQuantity: number;
21+
setAiOverviewMinQuantity: (aiOverviewMinQuantity: number) => void;
2022
};
2123

2224
export const useExtensionsStore = create<IExtensionsStore>()(
@@ -47,6 +49,10 @@ export const useExtensionsStore = create<IExtensionsStore>()(
4749
setAiOverviewDelay(aiOverviewDelay) {
4850
return set({ aiOverviewDelay });
4951
},
52+
aiOverviewMinQuantity: 5,
53+
setAiOverviewMinQuantity(aiOverviewMinQuantity) {
54+
return set({ aiOverviewMinQuantity });
55+
},
5056
}),
5157
{
5258
name: "extensions-store",
@@ -57,6 +63,7 @@ export const useExtensionsStore = create<IExtensionsStore>()(
5763
aiOverviewAssistant: state.aiOverviewAssistant,
5864
aiOverviewCharLen: state.aiOverviewCharLen,
5965
aiOverviewDelay: state.aiOverviewDelay,
66+
aiOverviewMinQuantity: state.aiOverviewMinQuantity,
6067
}),
6168
}
6269
)

0 commit comments

Comments
 (0)