1
0
Fork 0
blog/src/pages/thanks.tsx

77 lines
2.1 KiB
TypeScript
Raw Normal View History

2020-05-22 14:38:19 +02:00
import React, { ReactElement } from 'react'
2023-01-29 22:58:19 +01:00
import { HeadProps } from 'gatsby'
import { RainbowKitProvider } from '@rainbow-me/rainbowkit'
2022-08-25 09:37:35 +02:00
import { WagmiConfig } from 'wagmi'
2023-01-29 22:58:19 +01:00
import Copy from '../components/atoms/Copy'
2022-11-19 16:09:13 +01:00
import Meta, { HeadMetaProps } from '../components/atoms/HeadMeta'
2023-01-29 22:58:19 +01:00
import Icon from '../components/atoms/Icon'
import Web3Donation from '../components/molecules/Web3Donation'
import { chains, theme, wagmiClient } from '../helpers/rainbowkit'
import { useSiteMetadata } from '../hooks/useSiteMetadata'
import * as styles from './thanks.module.css'
2022-11-19 16:09:13 +01:00
const meta: Partial<HeadMetaProps> = {
title: `Say Thanks`
}
function Coin({ address, title }: { address: string; title: string }) {
return (
<div className={styles.coin}>
<h4 className={styles.titleCoin}>{title}</h4>
<pre className={styles.code}>
<code>{address}</code>
<Copy text={address} />
</pre>
</div>
)
}
const BackButton = () => (
<button
className={`link ${styles.buttonBack}`}
onClick={() => window.history.back()}
>
<Icon name="ChevronLeft" /> Go Back
</button>
)
2020-05-22 14:38:19 +02:00
export default function Thanks(): ReactElement {
const { author } = useSiteMetadata()
const coins = Object.entries(author).filter(
([key]) => key === 'bitcoin' || key === 'ether'
)
return (
2022-11-19 16:09:13 +01:00
<article className={styles.thanks}>
<BackButton />
<header>
<h1 className={styles.title}>{meta.title}</h1>
</header>
2022-11-19 16:09:13 +01:00
<WagmiConfig client={wagmiClient}>
<RainbowKitProvider chains={chains} theme={theme}>
<Web3Donation address={author.ether} />
</RainbowKitProvider>
</WagmiConfig>
2022-11-19 16:09:13 +01:00
<div className={styles.coins}>
<h3 className={styles.subTitle}>
Send Bitcoin or ERC-20 tokens from any wallet.
</h3>
2022-11-19 16:09:13 +01:00
{coins.map(([key, value]) => (
<Coin key={key} title={key} address={value} />
))}
</div>
</article>
)
}
2019-11-22 21:26:50 +01:00
2022-11-19 16:09:13 +01:00
export function Head(props: HeadProps) {
return (
<Meta {...meta} slug={props.location.pathname}>
<meta name="robots" content="noindex,nofollow" />
</Meta>
)
}