// Copyright 2021 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import React, { useState } from 'react'; import { ConfirmDiscardDialog } from './ConfirmDiscardDialog.dom.js'; import type { LocalizerType } from '../types/Util.std.js'; import { Modal } from './Modal.dom.js'; import { AxoButton } from '../axo/AxoButton.dom.js'; export type PropsType = { hasChanges: boolean; i18n: LocalizerType; onCancel: () => unknown; onSave: () => unknown; }; export function AvatarModalButtons({ hasChanges, i18n, onCancel, onSave, }: PropsType): JSX.Element { const [confirmDiscardAction, setConfirmDiscardAction] = useState< (() => unknown) | undefined >(undefined); return ( { if (hasChanges) { setConfirmDiscardAction(() => onCancel); } else { onCancel(); } }} > {i18n('icu:cancel')} {i18n('icu:save')} {confirmDiscardAction && ( setConfirmDiscardAction(undefined)} /> )} ); }