Skip to content

Commit 40874a5

Browse files
densumeshskeptrunedev
authored andcommitted
feature: add search bar integration
1 parent 4d554c3 commit 40874a5

5 files changed

Lines changed: 23 additions & 2 deletions

File tree

clients/search-component/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ declare module "solid-js" {
107107
| floatingSearchIconPosition | "left" or "right" | "right" |
108108
| showFloatingSearchIcon | boolean | false |
109109
| showFloatingInput | boolean | false |
110-
| buttonTriggers | [{ selector: <"query-selector">, mode: "chat"}] | |
110+
| buttonTriggers | [{ selector: <"query-selector">, mode: "chat", removeListeners: true}] | |
111111
| hideOpenButton | boolean | false |
112112
| showResultHighlights | boolean | true |
113113
| initialAiMessage | string (example: "<p>Hi! How can I help</p>") | null |

clients/search-component/src/TrieveModal/Search/SearchInput.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ export const SearchInput = () => {
3030
setLoadingResults(true);
3131
setQuery(e.target.value);
3232
}}
33+
onKeyDown={(e) => {
34+
if (e.key === "Enter" && props.searchBar) {
35+
window.location.href = "/search?q=" + query;
36+
}
37+
}}
3338
placeholder={
3439
imageUrl.length > 0
3540
? "Using Image for Search"

clients/search-component/src/TrieveModal/Search/SearchMode.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,6 @@ export const SearchMode = () => {
147147
resultsDisplay
148148
)}
149149
</ul>
150-
</div>
151150
{hasQuery && !resultsLength && !loadingResults && (
152151
<NoResults props={props} query={query} />
153152
)}
@@ -156,6 +155,7 @@ export const SearchMode = () => {
156155
<p className="">Searching...</p>
157156
</div>
158157
)}
158+
</div>
159159
</>
160160
);
161161
};

clients/search-component/src/utils/hooks/modal-context.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ export type ModalProps = {
209209
usePortal?: boolean;
210210
previewTopicId?: string;
211211
overrideFetch?: boolean;
212+
searchBar?: boolean;
212213
};
213214

214215
const defaultProps = {
@@ -280,6 +281,7 @@ const defaultProps = {
280281
} as SearchPageProps,
281282
usePortal: true,
282283
previewTopicId: undefined,
284+
searchBar: false,
283285
} satisfies ModalProps;
284286

285287
const ModalContext = createContext<{

clients/search-component/src/utils/hooks/setClickTriggers.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,20 @@ export const setClickTriggers = (
1515
// @ts-expect-error Property 'href' does not exist on type 'Element'. [2339]
1616
element.href = "#";
1717

18+
const detailsElement = element.querySelector('details');
19+
20+
if (detailsElement) {
21+
// Find and remove the summary element
22+
const summaryElement = detailsElement.querySelector('summary');
23+
24+
if (summaryElement) {
25+
//keep everything under the summary element
26+
summaryElement.querySelector(".header__icon-close")?.remove();
27+
const newDetailsChild = summaryElement.cloneNode(true);
28+
detailsElement.replaceChildren(newDetailsChild);
29+
}
30+
}
31+
1832
const newElement = element.cloneNode(true);
1933
element?.parentNode?.replaceChild(newElement, element);
2034
return newElement as unknown as Element;

0 commit comments

Comments
 (0)