import React, { FC } from 'react'; import styled, { css } from 'styled-components'; import { ifProp } from 'styled-tools'; import { Flex } from 'reflexbox/styled-components'; interface Props { changePeriod: any; // TODO: types period: string; total: number; } const Wrapper = styled(Flex).attrs({ flex: '1 1 auto', justifyContent: 'center', alignItems: 'center', py: [16, 16, 25], px: 32, })` background-color: #f1f1f1; border-top-left-radius: 12px; border-top-right-radius: 12px; `; 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 Button = styled.button<{ active: boolean }>` 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; } ${ifProp( { active: false }, 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: FC = ({ changePeriod, period, total }) => { const buttonWithPeriod = (periodText, text) => ( ); return ( Total clicks: {total} {buttonWithPeriod('allTime', 'All Time')} {buttonWithPeriod('lastMonth', 'Month')} {buttonWithPeriod('lastWeek', 'Week')} {buttonWithPeriod('lastDay', 'Day')} ); }; export default StatsHead;