/* Copyright 2024 New Vector Ltd. Copyright 2023 The Matrix.org Foundation C.I.C. Copyright 2019 New Vector Ltd SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ import React, { useCallback } from "react"; import { _t } from "../../../languageHandler"; import SettingsStore from "../../../settings/SettingsStore"; import { SettingLevel } from "../../../settings/SettingLevel"; import BaseDialog from "./BaseDialog"; export interface UnknownProfile { userId: string; errorText: string; } export type UnknownProfiles = UnknownProfile[]; export interface AskInviteAnywayDialogProps { unknownProfileUsers: UnknownProfiles; onInviteAnyways: () => void; onGiveUp: () => void; onFinished: (success: boolean) => void; description?: string; inviteNeverWarnLabel?: string; inviteLabel?: string; } export default function AskInviteAnywayDialog({ onFinished, onGiveUp, onInviteAnyways, unknownProfileUsers, description: descriptionProp, inviteNeverWarnLabel, inviteLabel, }: AskInviteAnywayDialogProps): JSX.Element { const onInviteClicked = useCallback((): void => { onInviteAnyways(); onFinished(true); }, [onInviteAnyways, onFinished]); const onInviteNeverWarnClicked = useCallback((): void => { SettingsStore.setValue("promptBeforeInviteUnknownUsers", null, SettingLevel.ACCOUNT, false); onInviteAnyways(); onFinished(true); }, [onInviteAnyways, onFinished]); const onGiveUpClicked = useCallback((): void => { onGiveUp(); onFinished(false); }, [onGiveUp, onFinished]); const errorList = unknownProfileUsers.map((address) => (
{description}