// Copyright 2022 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import React from 'react'; import type { LocalizerType } 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; toastType?: ToastType; }; export const ToastManager = ({ hideToast, i18n, toastType, }: PropsType): JSX.Element | null => { if (toastType === ToastType.Error) { return ( window.showDebugLog(), }} > {i18n('Toast--error')} ); } if (toastType === ToastType.MessageBodyTooLong) { return ; } if (toastType === ToastType.StoryReact) { return ( {i18n('Stories__toast--sending-reaction')} ); } if (toastType === ToastType.StoryReply) { return ( {i18n('Stories__toast--sending-reply')} ); } if (toastType === ToastType.StoryMuted) { return ( {i18n('Stories__toast--hasNoSound')} ); } if (toastType === ToastType.StoryVideoTooLong) { return ( {i18n('StoryCreator__error--video-too-long')} ); } if (toastType === ToastType.StoryVideoUnsupported) { return ( {i18n('StoryCreator__error--video-unsupported')} ); } if (toastType === ToastType.StoryVideoError) { return ( {i18n('StoryCreator__error--video-error')} ); } strictAssert( toastType === undefined, `Unhandled toast of type: ${toastType}` ); return null; };