diff --git a/ts/components/fun/FunEmojiLocalizationProvider.tsx b/ts/components/fun/FunEmojiLocalizationProvider.tsx
index 62f04606918..412436fb906 100644
--- a/ts/components/fun/FunEmojiLocalizationProvider.tsx
+++ b/ts/components/fun/FunEmojiLocalizationProvider.tsx
@@ -70,6 +70,26 @@ export const FunEmojiLocalizationProvider = memo(
}
);
+export type FunEmptyEmojiLocalizationProviderProps = Readonly<{
+ children: ReactNode;
+}>;
+
+export function FunDefaultEnglishEmojiLocalizationProvider(
+ props: FunEmptyEmojiLocalizationProviderProps
+): JSX.Element {
+ const context = useMemo(() => {
+ return {
+ emojiSearchIndex: getEmojiDefaultEnglishSearchIndex(),
+ emojiLocalizerIndex: getEmojiDefaultEnglishLocalizerIndex(),
+ };
+ }, []);
+ return (
+
+ {props.children}
+
+ );
+}
+
function useLocaleEmojiList(i18n: LocalizerType): LocaleEmojiListType | null {
const locale = useMemo(() => i18n.getLocale(), [i18n]);
diff --git a/ts/shims/renderClearingDataView.tsx b/ts/shims/renderClearingDataView.tsx
index ebdc69410e7..80a99614b4a 100644
--- a/ts/shims/renderClearingDataView.tsx
+++ b/ts/shims/renderClearingDataView.tsx
@@ -6,10 +6,13 @@ import { render } from 'react-dom';
import { ClearingData } from '../components/ClearingData';
import { deleteAllData } from './deleteAllData';
+import { FunDefaultEnglishEmojiLocalizationProvider } from '../components/fun/FunEmojiLocalizationProvider';
export function renderClearingDataView(): void {
render(
- ,
+
+
+ ,
document.getElementById('app-container')
);
}
diff --git a/ts/state/roots/createGroupV2JoinModal.tsx b/ts/state/roots/createGroupV2JoinModal.tsx
index a4f79a95dbd..90f5cd3e1b2 100644
--- a/ts/state/roots/createGroupV2JoinModal.tsx
+++ b/ts/state/roots/createGroupV2JoinModal.tsx
@@ -11,6 +11,7 @@ import type { Store } from 'redux';
import { ModalHost } from '../../components/ModalHost';
import type { SmartGroupV2JoinDialogProps } from '../smart/GroupV2JoinDialog';
import { SmartGroupV2JoinDialog } from '../smart/GroupV2JoinDialog';
+import { FunEmojiLocalizationProvider } from '../../components/fun/FunEmojiLocalizationProvider';
export const createGroupV2JoinModal = (
store: Store,
@@ -20,9 +21,11 @@ export const createGroupV2JoinModal = (
return (
-
-
-
+
+
+
+
+
);
};
diff --git a/ts/util/longRunningTaskWrapper.tsx b/ts/util/longRunningTaskWrapper.tsx
index d8592c790d2..81931e94cb7 100644
--- a/ts/util/longRunningTaskWrapper.tsx
+++ b/ts/util/longRunningTaskWrapper.tsx
@@ -9,6 +9,7 @@ import * as log from '../logging/log';
import { ProgressModal } from '../components/ProgressModal';
import { clearTimeoutIfNecessary } from './clearTimeoutIfNecessary';
import { sleep } from './sleep';
+import { FunDefaultEnglishEmojiLocalizationProvider } from '../components/fun/FunEmojiLocalizationProvider';
export async function longRunningTaskWrapper({
name,
@@ -31,7 +32,12 @@ export async function longRunningTaskWrapper({
progressNode = document.createElement('div');
log.info(`longRunningTaskWrapper/${idLog}: Creating spinner`);
- render(, progressNode);
+ render(
+
+
+ ,
+ progressNode
+ );
spinnerStart = Date.now();
}, TWO_SECONDS);
diff --git a/ts/util/showConfirmationDialog.tsx b/ts/util/showConfirmationDialog.tsx
index 9db08e9a88b..d7dd94c5dc7 100644
--- a/ts/util/showConfirmationDialog.tsx
+++ b/ts/util/showConfirmationDialog.tsx
@@ -4,6 +4,7 @@
import React from 'react';
import { render, unmountComponentAtNode } from 'react-dom';
import { ConfirmationDialog } from '../components/ConfirmationDialog';
+import { FunDefaultEnglishEmojiLocalizationProvider } from '../components/fun/FunEmojiLocalizationProvider';
type ConfirmationDialogViewProps = {
onTopOfEverything?: boolean;
@@ -55,33 +56,37 @@ export function showConfirmationDialog(
confirmationDialogPreviousFocus = document.activeElement as HTMLElement;
render(
- {
- options.resolve();
+
+ {
+ options.resolve();
+ },
+ style: options.confirmStyle,
+ text: options.okText || window.i18n('icu:ok'),
},
- style: options.confirmStyle,
- text: options.okText || window.i18n('icu:ok'),
- },
- ]}
- cancelText={options.cancelText || window.i18n('icu:cancel')}
- i18n={window.i18n}
- onCancel={() => {
- if (options.reject) {
- options.reject(new Error('showConfirmationDialog: onCancel called'));
- }
- }}
- onClose={() => {
- removeConfirmationDialog();
- }}
- title={options.title}
- noMouseClose={options.noMouseClose}
- >
- {options.description}
- ,
+ ]}
+ cancelText={options.cancelText || window.i18n('icu:cancel')}
+ i18n={window.i18n}
+ onCancel={() => {
+ if (options.reject) {
+ options.reject(
+ new Error('showConfirmationDialog: onCancel called')
+ );
+ }
+ }}
+ onClose={() => {
+ removeConfirmationDialog();
+ }}
+ title={options.title}
+ noMouseClose={options.noMouseClose}
+ >
+ {options.description}
+
+ ,
confirmationDialogViewNode
);
}
diff --git a/ts/windows/about/app.tsx b/ts/windows/about/app.tsx
index 084c5ce519f..fb05e129b37 100644
--- a/ts/windows/about/app.tsx
+++ b/ts/windows/about/app.tsx
@@ -7,19 +7,22 @@ import ReactDOM from 'react-dom';
import { About } from '../../components/About';
import { i18n } from '../sandboxedInit';
import { strictAssert } from '../../util/assert';
+import { FunDefaultEnglishEmojiLocalizationProvider } from '../../components/fun/FunEmojiLocalizationProvider';
const { AboutWindowProps } = window.Signal;
strictAssert(AboutWindowProps, 'window values not provided');
ReactDOM.render(
- window.SignalContext.executeMenuRole('close')}
- appEnv={AboutWindowProps.appEnv}
- platform={AboutWindowProps.platform}
- arch={AboutWindowProps.arch}
- i18n={i18n}
- version={window.SignalContext.getVersion()}
- />,
+
+ window.SignalContext.executeMenuRole('close')}
+ appEnv={AboutWindowProps.appEnv}
+ platform={AboutWindowProps.platform}
+ arch={AboutWindowProps.arch}
+ i18n={i18n}
+ version={window.SignalContext.getVersion()}
+ />
+ ,
document.getElementById('app')
);
diff --git a/ts/windows/debuglog/app.tsx b/ts/windows/debuglog/app.tsx
index e24b3a57b97..44899c7cc39 100644
--- a/ts/windows/debuglog/app.tsx
+++ b/ts/windows/debuglog/app.tsx
@@ -4,6 +4,7 @@
import React from 'react';
import { render } from 'react-dom';
import { DebugLogWindow } from '../../components/DebugLogWindow';
+import { FunDefaultEnglishEmojiLocalizationProvider } from '../../components/fun/FunEmojiLocalizationProvider';
import { i18n } from '../sandboxedInit';
import { strictAssert } from '../../util/assert';
@@ -12,12 +13,14 @@ const { DebugLogWindowProps } = window.Signal;
strictAssert(DebugLogWindowProps, 'window values not provided');
render(
- window.SignalContext.executeMenuRole('close')}
- downloadLog={DebugLogWindowProps.downloadLog}
- i18n={i18n}
- fetchLogs={DebugLogWindowProps.fetchLogs}
- uploadLogs={DebugLogWindowProps.uploadLogs}
- />,
+
+ window.SignalContext.executeMenuRole('close')}
+ downloadLog={DebugLogWindowProps.downloadLog}
+ i18n={i18n}
+ fetchLogs={DebugLogWindowProps.fetchLogs}
+ uploadLogs={DebugLogWindowProps.uploadLogs}
+ />
+ ,
document.getElementById('app')
);
diff --git a/ts/windows/permissions/app.tsx b/ts/windows/permissions/app.tsx
index d5a2d235d48..bf89d222481 100644
--- a/ts/windows/permissions/app.tsx
+++ b/ts/windows/permissions/app.tsx
@@ -7,6 +7,7 @@ import ReactDOM from 'react-dom';
import { PermissionsPopup } from '../../components/PermissionsPopup';
import { i18n } from '../sandboxedInit';
import { strictAssert } from '../../util/assert';
+import { FunDefaultEnglishEmojiLocalizationProvider } from '../../components/fun/FunEmojiLocalizationProvider';
const { PermissionsWindowProps } = window.Signal;
@@ -26,11 +27,13 @@ if (forCalling) {
}
ReactDOM.render(
- ,
+
+
+ ,
document.getElementById('app')
);
diff --git a/ts/windows/screenShare/app.tsx b/ts/windows/screenShare/app.tsx
index 871795f1ba0..1dc1a895937 100644
--- a/ts/windows/screenShare/app.tsx
+++ b/ts/windows/screenShare/app.tsx
@@ -9,6 +9,7 @@ import { i18n } from '../sandboxedInit';
import { strictAssert } from '../../util/assert';
import { drop } from '../../util/drop';
import { parseEnvironment, setEnvironment } from '../../environment';
+import { FunDefaultEnglishEmojiLocalizationProvider } from '../../components/fun/FunEmojiLocalizationProvider';
const { ScreenShareWindowProps } = window.Signal;
@@ -28,15 +29,17 @@ function render() {
strictAssert(ScreenShareWindowProps, 'window values not provided');
ReactDOM.render(
-
-
-
,
+
+
+
+
+ ,
document.getElementById('app')
);