@hackoregon/component-library
Version:
Official repo for Hack Oregon React component library
64 lines (55 loc) • 1.44 kB
JavaScript
import PropTypes from "prop-types";
import React from "react";
import { css } from "emotion";
import { TwitterShareButton, TwitterIcon } from "react-share";
import { get } from "lodash";
import window from "global/window";
const quoteClass = css`
font-family: "Merriweather", serif;
font-size: 24px;
color: #1e62bd;
margin-bottom: 12px;
`;
const attributionClass = css`
font-size: 18px;
text-align: center;
display: flex;
justify-content: center;
line-height: 40px;
`;
const iconClass = css`
display: inline-block;
`;
const wrapperClass = css`
max-width: 700px;
text-align: center;
margin: 60px auto;
`;
const PullQuote = ({ quoteText, quoteAttribution, url }) => (
<div className={wrapperClass}>
<TwitterShareButton
url={url || get(window, "location.href", "")}
title={quoteText}
>
<blockquote className={quoteClass}>
“
{quoteText}
”
<br />
{quoteAttribution ? (
<span className={attributionClass}>— {quoteAttribution}</span>
) : null}
</blockquote>
<div className={iconClass}>
<TwitterIcon size={24} round iconBgStyle={{ fill: "#1E62BD" }} />
</div>
</TwitterShareButton>
</div>
);
PullQuote.displayName = "PullQuote";
PullQuote.propTypes = {
quoteText: PropTypes.string,
quoteAttribution: PropTypes.string,
url: PropTypes.string
};
export default PullQuote;