// 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;
};