Page MenuHomePhorge

D7739.1765222053.diff
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

D7739.1765222053.diff

diff --git a/native/root.react.js b/native/root.react.js
--- a/native/root.react.js
+++ b/native/root.react.js
@@ -49,6 +49,7 @@
import { store } from './redux/redux-setup.js';
import { useSelector } from './redux/redux-utils.js';
import { RootContext } from './root-context.js';
+import { MessageSearchProvider } from './search/search-provider.react.js';
import Socket from './socket.react.js';
import { StaffContextProvider } from './staff/staff-context.provider.react.js';
import { useLoadCommFonts } from './themes/fonts.js';
@@ -262,19 +263,21 @@
<EditThreadAvatarProvider>
<MarkdownContextProvider>
<ChatContextProvider>
- <SQLiteDataHandler />
- <ConnectedStatusBar />
- <ReduxPersistGate persistor={getPersistor()}>
- {gated}
- </ReduxPersistGate>
- <PersistedStateGate>
- <Socket
- detectUnsupervisedBackgroundRef={
- detectUnsupervisedBackgroundRef
- }
- />
- </PersistedStateGate>
- {navigation}
+ <MessageSearchProvider>
+ <SQLiteDataHandler />
+ <ConnectedStatusBar />
+ <ReduxPersistGate persistor={getPersistor()}>
+ {gated}
+ </ReduxPersistGate>
+ <PersistedStateGate>
+ <Socket
+ detectUnsupervisedBackgroundRef={
+ detectUnsupervisedBackgroundRef
+ }
+ />
+ </PersistedStateGate>
+ {navigation}
+ </MessageSearchProvider>
</ChatContextProvider>
</MarkdownContextProvider>
</EditThreadAvatarProvider>
diff --git a/native/search/search-provider.react.js b/native/search/search-provider.react.js
new file mode 100644
--- /dev/null
+++ b/native/search/search-provider.react.js
@@ -0,0 +1,42 @@
+// @flow
+
+import * as React from 'react';
+
+import type { SetState } from 'lib/types/hook-types.js';
+
+export type MessageSearchContextType = {
+ +query: string,
+ +setQuery: SetState<string>,
+ +clearQuery: () => void,
+};
+
+const MessageSearchContext: React.Context<?MessageSearchContextType> =
+ React.createContext<?MessageSearchContextType>();
+
+type Props = {
+ +children: React.Node,
+};
+function MessageSearchProvider(props: Props): React.Node {
+ const { children } = props;
+
+ const [query, setQuery] = React.useState('');
+
+ const clearQuery = React.useCallback(() => setQuery(''), []);
+
+ const context = React.useMemo(
+ () => ({
+ query,
+ setQuery,
+ clearQuery,
+ }),
+ [query, clearQuery],
+ );
+
+ return (
+ <MessageSearchContext.Provider value={context}>
+ {children}
+ </MessageSearchContext.Provider>
+ );
+}
+
+export { MessageSearchContext, MessageSearchProvider };

File Metadata

Mime Type
text/plain
Expires
Mon, Dec 8, 7:27 PM (12 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5850116
Default Alt Text
D7739.1765222053.diff (3 KB)

Event Timeline