import React from 'react'; import PropTypes from 'prop-types'; import styled, { css } from 'styled-components'; const Wrapper = styled.div` display: flex; flex: 1 1 auto; justify-content: space-between; align-items: center; padding: 24px 32px; background-color: #f1f1f1; border-top-left-radius: 12px; border-top-right-radius: 12px; @media only screen and (max-width: 768px) { padding: 16px; } `; const TotalText = styled.p` margin: 0; padding: 0; span { font-weight: bold; border-bottom: 1px dotted #999; } @media only screen and (max-width: 768px) { font-size: 13px; } `; const TimeWrapper = styled.div` display: flex; `; const Button = styled.button` display: flex; padding: 6px 12px; margin: 0 4px; border: none; font-size: 12px; border-radius: 4px; box-shadow: 0 0px 10px rgba(100, 100, 100, 0.1); background-color: white; cursor: pointer; transition: all 0.2s ease-out; box-sizing: border-box; :last-child { margin-right: 0; } ${({ active }) => !active && css` border: 1px solid #ddd; background-color: #f5f5f5; box-shadow: 0 2px 6px rgba(150, 150, 150, 0.2); :hover { border-color: 1px solid #ccc; background-color: white; } `}; @media only screen and (max-width: 768px) { padding: 4px 8px; margin: 0 2px; font-size: 11px; } `; const StatsHead = ({ changePeriod, period, total }) => { const buttonWithPeriod = (periodText, text) => ( ); return ( Total clicks: {total} {buttonWithPeriod('allTime', 'All Time')} {buttonWithPeriod('lastMonth', 'Month')} {buttonWithPeriod('lastWeek', 'Week')} {buttonWithPeriod('lastDay', 'Day')} ); }; StatsHead.propTypes = { changePeriod: PropTypes.func.isRequired, period: PropTypes.string.isRequired, total: PropTypes.number.isRequired, }; export default StatsHead;