// Copyright 2022 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import React from 'react'; import type { LocalizerType, ReplacementValuesType } from '../types/Util'; import { SECOND } from '../util/durations'; import { Toast } from './Toast'; import { ToastMessageBodyTooLong } from './ToastMessageBodyTooLong'; import { ToastType } from '../state/ducks/toast'; import { strictAssert } from '../util/assert'; export type PropsType = { hideToast: () => unknown; i18n: LocalizerType; toast?: { toastType: ToastType; parameters?: ReplacementValuesType; }; }; const SHORT_TIMEOUT = 3 * SECOND; export const ToastManager = ({ hideToast, i18n, toast, }: PropsType): JSX.Element | null => { if (toast?.toastType === ToastType.Error) { return ( window.showDebugLog(), }} > {i18n('Toast--error')} ); } if (toast?.toastType === ToastType.MessageBodyTooLong) { return ; } if (toast?.toastType === ToastType.StoryReact) { return ( {i18n('Stories__toast--sending-reaction')} ); } if (toast?.toastType === ToastType.StoryReply) { return ( {i18n('Stories__toast--sending-reply')} ); } if (toast?.toastType === ToastType.StoryMuted) { return ( {i18n('Stories__toast--hasNoSound')} ); } if (toast?.toastType === ToastType.StoryVideoTooLong) { return ( {i18n('StoryCreator__error--video-too-long')} ); } if (toast?.toastType === ToastType.StoryVideoUnsupported) { return ( {i18n('StoryCreator__error--video-unsupported')} ); } if (toast?.toastType === ToastType.StoryVideoError) { return ( {i18n('StoryCreator__error--video-error')} ); } if (toast?.toastType === ToastType.AddingUserToGroup) { return ( {i18n( 'AddUserToAnotherGroupModal__toast--adding-user-to-group', toast.parameters )} ); } if (toast?.toastType === ToastType.UserAddedToGroup) { return ( {i18n( 'AddUserToAnotherGroupModal__toast--user-added-to-group', toast.parameters )} ); } strictAssert( toast === undefined, `Unhandled toast of type: ${toast?.toastType}` ); return null; };