// Copyright 2020 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import * as React from 'react'; import { ReplacementValuesType } from '../../types/I18N'; import { FullJSXType, Intl } from '../Intl'; import { LocalizerType } from '../../types/Util'; import { GroupV2ChangeType } from '../../groups'; import { renderChange, SmartContactRendererType } from '../../groupChange'; import { AccessControlClass, MemberClass } from '../../textsecure.d'; export type PropsDataType = { ourConversationId: string; change: GroupV2ChangeType; AccessControlEnum: typeof AccessControlClass.AccessRequired; RoleEnum: typeof MemberClass.Role; }; export type PropsHousekeepingType = { i18n: LocalizerType; renderContact: SmartContactRendererType; }; export type PropsType = PropsDataType & PropsHousekeepingType; function renderStringToIntl( id: string, i18n: LocalizerType, components?: Array | ReplacementValuesType ): FullJSXType { return ; } export function GroupV2Change(props: PropsType): React.ReactElement { const { AccessControlEnum, change, i18n, ourConversationId, renderContact, RoleEnum, } = props; return (
{renderChange(change, { AccessControlEnum, i18n, ourConversationId, renderContact, renderString: renderStringToIntl, RoleEnum, }).map((item: FullJSXType, index: number) => ( // Difficult to find a unique key for this type // eslint-disable-next-line react/no-array-index-key
{item}
))}
); }