1
0
mirror of https://github.com/kremalicious/blog.git synced 2024-06-17 18:13:14 +02:00
blog/src/components/Post/PostActions.jsx

76 lines
2.2 KiB
React
Raw Normal View History

2018-08-29 19:44:31 +02:00
import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
import ModalThanks from '../molecules/ModalThanks'
import styles from './PostActions.module.scss'
2018-09-24 22:28:07 +02:00
import { ReactComponent as Twitter } from '../../images/twitter.svg'
import { ReactComponent as Bitcoin } from '../../images/bitcoin.svg'
2018-11-18 23:11:36 +01:00
import { ReactComponent as GitHub } from '../../images/github.svg'
2018-08-29 19:44:31 +02:00
2018-09-06 19:23:34 +02:00
export default class PostActions extends PureComponent {
state = {
showModal: false
}
2018-08-29 19:44:31 +02:00
2018-09-06 19:23:34 +02:00
static propTypes = {
slug: PropTypes.string.isRequired,
2018-11-18 23:11:36 +01:00
url: PropTypes.string.isRequired,
githubLink: PropTypes.string.isRequired
2018-08-29 19:44:31 +02:00
}
toggleModal = () => {
this.setState({ showModal: !this.state.showModal })
}
render() {
2018-11-18 23:11:36 +01:00
const { url, slug, githubLink } = this.props
2018-08-29 19:44:31 +02:00
return (
<aside className={styles.actions}>
2018-11-18 23:11:36 +01:00
<div>
<a
className={styles.action}
href={`https://twitter.com/intent/tweet?text=@kremalicious&url=${url}${slug}`}
>
<Twitter />
<h1 className={styles.actionTitle}>Have a comment?</h1>
<p className={styles.actionText}>
Hit me up on Twitter{' '}
<span className={styles.link}>@kremalicious</span>.
</p>
</a>
</div>
<div>
<button className={styles.action} onClick={this.toggleModal}>
<Bitcoin />
<h1 className={styles.actionTitle}>Found something useful?</h1>
<p className={styles.actionText}>
Say thanks{' '}
<span className={styles.link}>with Bitcoins or Ether</span>.
</p>
</button>
</div>
<div>
<a className={styles.action} href={githubLink}>
<GitHub />
<h1 className={styles.actionTitle}>Edit on GitHub</h1>
<p className={styles.actionText}>
Contribute to this post on{' '}
<span className={styles.link}>GitHub</span>.
</p>
</a>
</div>
2018-08-29 19:44:31 +02:00
2018-10-09 23:48:25 +02:00
{this.state.showModal && (
<ModalThanks
isOpen={this.state.showModal}
handleCloseModal={this.toggleModal}
/>
)}
2018-08-29 19:44:31 +02:00
</aside>
)
}
}