CryptoDonate: convert to tsx
This commit is contained in:
parent
13c4948ad2
commit
7e2a74b05d
2 changed files with 42 additions and 0 deletions
Binary file not shown.
42
app/soapbox/features/crypto_donate/index.tsx
Normal file
42
app/soapbox/features/crypto_donate/index.tsx
Normal file
|
@ -0,0 +1,42 @@
|
|||
import React, { useState } from 'react';
|
||||
import { defineMessages, useIntl, FormattedMessage } from 'react-intl';
|
||||
|
||||
import { Column } from 'soapbox/components/ui';
|
||||
import Accordion from 'soapbox/features/ui/components/accordion';
|
||||
import { useAppSelector } from 'soapbox/hooks';
|
||||
|
||||
import SiteWallet from './components/site_wallet';
|
||||
|
||||
const messages = defineMessages({
|
||||
heading: { id: 'column.crypto_donate', defaultMessage: 'Donate Cryptocurrency' },
|
||||
});
|
||||
|
||||
const CryptoDonate: React.FC = (): JSX.Element => {
|
||||
const [explanationBoxExpanded, toggleExplanationBox] = useState(true);
|
||||
const siteTitle = useAppSelector((state) => state.instance.title);
|
||||
const intl = useIntl();
|
||||
|
||||
return (
|
||||
<Column label={intl.formatMessage(messages.heading)} withHeader>
|
||||
<div className='crypto-donate'>
|
||||
<div className='explanation-box'>
|
||||
<Accordion
|
||||
headline={<FormattedMessage id='crypto_donate.explanation_box.title' defaultMessage='Sending cryptocurrency donations' />}
|
||||
expanded={explanationBoxExpanded}
|
||||
onToggle={toggleExplanationBox}
|
||||
>
|
||||
<FormattedMessage
|
||||
id='crypto_donate.explanation_box.message'
|
||||
defaultMessage='{siteTitle} accepts cryptocurrency donations. You may send a donation to any of the addresses below. Thank you for your support!'
|
||||
values={{ siteTitle }}
|
||||
/>
|
||||
</Accordion>
|
||||
|
||||
</div>
|
||||
<SiteWallet />
|
||||
</div>
|
||||
</Column>
|
||||
);
|
||||
};
|
||||
|
||||
export default CryptoDonate;
|
Loading…
Reference in a new issue