import React from 'react';
import { Link } from 'react-router-dom'
import numberFormatter from '../number-formatter'
import Bar from './bar'
import MoreLink from './more-link'
import * as api from '../api'
function FadeIn({show, children}) {
const className = show ? "fade-enter-active" : "fade-enter"
return
{children}
}
const EXPLANATION = {
'Mobile': 'up to 576px',
'Tablet': '576px to 992px',
'Laptop': '992px to 1440px',
'Desktop': 'above 1440px',
}
function iconFor(screenSize) {
if (screenSize === 'Mobile') {
return (
)
} else if (screenSize === 'Tablet') {
return (
)
} else if (screenSize === 'Laptop') {
return (
)
} else if (screenSize === 'Desktop') {
return (
)
}
}
class ScreenSizes extends React.Component {
constructor(props) {
super(props)
this.state = {loading: true}
}
componentDidMount() {
this.fetchScreenSizes()
if (this.props.timer) this.props.timer.onTick(this.fetchScreenSizes.bind(this))
}
componentDidUpdate(prevProps) {
if (this.props.query !== prevProps.query) {
this.setState({loading: true, sizes: null})
this.fetchScreenSizes()
}
}
fetchScreenSizes() {
api.get(`/api/stats/${encodeURIComponent(this.props.site.domain)}/screen-sizes`, this.props.query)
.then((res) => this.setState({loading: false, sizes: res}))
}
renderScreenSize(size) {
const query = new URLSearchParams(window.location.search)
query.set('screen', size.name)
return (