mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-02-14 23:18:54 +00:00
103 lines
3.3 KiB
TypeScript
103 lines
3.3 KiB
TypeScript
// Copyright 2025 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
import React from 'react';
|
|
import type { LocalizerType } from '../types/Util.std.js';
|
|
import { openLinkInWebBrowser } from '../util/openLinkInWebBrowser.dom.js';
|
|
import { AxoDialog } from '../axo/AxoDialog.dom.js';
|
|
import { tw } from '../axo/tw.dom.js';
|
|
import { AxoSymbol } from '../axo/AxoSymbol.dom.js';
|
|
|
|
export type DonationPrivacyInformationModalProps = {
|
|
i18n: LocalizerType;
|
|
onClose: () => void;
|
|
};
|
|
|
|
export function DonationPrivacyInformationModal({
|
|
i18n,
|
|
onClose,
|
|
}: DonationPrivacyInformationModalProps): React.JSX.Element {
|
|
const handleDonationFAQsClick = () => {
|
|
openLinkInWebBrowser(
|
|
'https://support.signal.org/hc/articles/360031949872-Donor-FAQs'
|
|
);
|
|
};
|
|
|
|
return (
|
|
<AxoDialog.Root
|
|
open
|
|
onOpenChange={open => {
|
|
if (!open) {
|
|
onClose();
|
|
}
|
|
}}
|
|
>
|
|
<AxoDialog.Content
|
|
size="sm"
|
|
escape="cancel-is-noop"
|
|
disableMissingAriaDescriptionWarning
|
|
>
|
|
<AxoDialog.Header>
|
|
<AxoDialog.Title screenReaderOnly>
|
|
{i18n('icu:PreferencesDonations__privacy-modal-title')}
|
|
</AxoDialog.Title>
|
|
<AxoDialog.Close aria-label={i18n('icu:PinMessageDialog__Close')} />
|
|
</AxoDialog.Header>
|
|
<AxoDialog.Body>
|
|
<img
|
|
className={tw('m-auto mb-3')}
|
|
alt={i18n(
|
|
'icu:PreferencesDonations__privacy-modal-icon-accessibility-label'
|
|
)}
|
|
src="images/signal-heart.svg"
|
|
/>
|
|
<div className={tw('flex flex-col gap-4 pt-1.5 pb-4')}>
|
|
<div className={tw('mt-1 mb-2')}>
|
|
{i18n('icu:PreferencesDonations__privacy-modal-intro')}
|
|
</div>
|
|
<ul className={tw('flex flex-col gap-6')}>
|
|
<li className={tw('flex flex-row gap-4')}>
|
|
<div>
|
|
<AxoSymbol.Icon size={20} symbol="badge-set" label={null} />
|
|
</div>
|
|
<div>
|
|
{i18n('icu:PreferencesDonations__privacy-modal-list-1')}
|
|
</div>
|
|
</li>
|
|
<li className={tw('flex gap-x-4')}>
|
|
<div>
|
|
<AxoSymbol.Icon size={20} symbol="lock" label={null} />
|
|
</div>
|
|
<div>
|
|
{i18n('icu:PreferencesDonations__privacy-modal-list-2')}
|
|
</div>
|
|
</li>
|
|
<li className={tw('flex gap-x-4')}>
|
|
<div>
|
|
<AxoSymbol.Icon size={20} symbol="heart" label={null} />
|
|
</div>
|
|
<div>
|
|
{i18n('icu:PreferencesDonations__privacy-modal-list-3')}
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</AxoDialog.Body>
|
|
<AxoDialog.Footer>
|
|
<AxoDialog.Actions>
|
|
<AxoDialog.Action
|
|
variant="secondary"
|
|
onClick={handleDonationFAQsClick}
|
|
>
|
|
{i18n('icu:PreferencesDonations__faqs')}
|
|
</AxoDialog.Action>
|
|
<AxoDialog.Action variant="primary" onClick={onClose}>
|
|
{i18n('icu:PreferencesDonations__privacy-modal-ok')}
|
|
</AxoDialog.Action>
|
|
</AxoDialog.Actions>
|
|
</AxoDialog.Footer>
|
|
</AxoDialog.Content>
|
|
</AxoDialog.Root>
|
|
);
|
|
}
|