// Copyright 2022 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import React from 'react'; import type { LocalizerType } from '../../types/Util.js'; import { getStringForConversationMerge } from '../../util/getStringForConversationMerge.js'; import { Button, ButtonSize, ButtonVariant } from '../Button.js'; import { SystemMessage } from './SystemMessage.js'; import { Emojify } from './Emojify.js'; import { Modal } from '../Modal.js'; import { I18n } from '../I18n.js'; export type PropsDataType = { conversationTitle: string; obsoleteConversationTitle: string | undefined; obsoleteConversationNumber: string | undefined; }; export type PropsType = PropsDataType & { i18n: LocalizerType; }; export function ConversationMergeNotification(props: PropsType): JSX.Element { const { conversationTitle, obsoleteConversationTitle, obsoleteConversationNumber, i18n, } = props; const message = getStringForConversationMerge({ conversationTitle, obsoleteConversationTitle, obsoleteConversationNumber, i18n, }); const [showingDialog, setShowingDialog] = React.useState(false); const showDialog = React.useCallback(() => { setShowingDialog(true); }, [setShowingDialog]); const dismissDialog = React.useCallback(() => { setShowingDialog(false); }, [setShowingDialog]); return ( <> } button={ obsoleteConversationTitle ? ( ) : undefined } /> {showingDialog && obsoleteConversationTitle ? (
) : null} ); }