/* * Wire * Copyright (C) 2023 Wire Swiss GmbH * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see http://www.gnu.org/licenses/. * */ import {ConversationProtocol} from '@wireapp/api-client/lib/conversation'; import * as Icon from 'Components/Icon'; import {Config} from 'src/script/Config'; import {ProtocolUpdateMessage as ProtocolUpdateMessageEntity} from 'src/script/entity/message/ProtocolUpdateMessage'; import {SystemMessage} from 'src/script/entity/message/SystemMessage'; import {replaceLink, t} from 'Util/LocalizerUtil'; import {SystemMessageBase} from '../SystemMessage/SystemMessageBase'; interface ProtocolUpdateMessageProps { message: ProtocolUpdateMessageEntity; } const createSystemMessage = (caption: string) => { const message = new SystemMessage(); message.caption = caption; return message; }; export const ProtocolUpdateMessage = ({message}: ProtocolUpdateMessageProps) => { if (message.protocol === ConversationProtocol.MIXED) { const captions = [ t('conversationProtocolUpdatedToMixedPart1', {}, replaceLink(Config.getConfig().URL.SUPPORT.MLS_LEARN_MORE)), t('conversationProtocolUpdatedToMixedPart2'), ]; const messages = captions.map(createSystemMessage); return ( <> {messages.map(message => ( } message={message} /> ))} ); } const migratedToMLSMessage = createSystemMessage( t('conversationProtocolUpdatedToMLS', {}, replaceLink(Config.getConfig().URL.SUPPORT.MLS_LEARN_MORE)), ); return } />; };