diff --git a/components/Chart.js b/components/Chart.js index 1e3bd7ea3..9be643ec3 100644 --- a/components/Chart.js +++ b/components/Chart.js @@ -23,7 +23,7 @@ export const MATLink = ({ query }) => { const showMATButton = !Array.isArray(query.test_name) return ( - + {showMATButton && @@ -33,16 +33,14 @@ export const MATLink = ({ query }) => { } - - - - {intl.formatMessage({id: 'MAT.Charts.DownloadJSONData'})} - - + + + {intl.formatMessage({id: 'MAT.Charts.DownloadJSONData'})} + {intl.formatMessage({id: 'MAT.Charts.DownloadCSVData'})} - + ) } diff --git a/components/measurement/CommonSummary.js b/components/measurement/CommonSummary.js index ef873d972..8167553ac 100644 --- a/components/measurement/CommonSummary.js +++ b/components/measurement/CommonSummary.js @@ -18,8 +18,11 @@ const SummaryContainer = styled(Box)` color: white; ` -const StyledSummaryItemLabel = styled(Text)` - font-weight: 600; +const StyledLink = styled(NLink)` + color: white; + &:hover { + color: white; + } ` const CommonSummary = ({ @@ -62,7 +65,7 @@ const CommonSummary = ({ {hero} - + @@ -71,11 +74,11 @@ const CommonSummary = ({ {country} - + - + {network} {networkName} - + diff --git a/components/measurement/nettests/WebConnectivity.js b/components/measurement/nettests/WebConnectivity.js index 16eef8d65..c39745221 100644 --- a/components/measurement/nettests/WebConnectivity.js +++ b/components/measurement/nettests/WebConnectivity.js @@ -305,6 +305,19 @@ const validateMeasurement = (measurement) => { const getSearchHref = (input) => (`${process.env.NEXT_PUBLIC_EXPLORER_URL}/search?input=${input}`) +const StyledLink = styled(NLink)` + direction: ltr; + display: inline; +` + +const StyledStatusInfoLink = styled(NLink)` + color: white; + text-decoration: underline; + &:hover { + color: white; + } +` + const WebConnectivityDetails = ({ isConfirmed, isAnomaly, @@ -349,7 +362,7 @@ const WebConnectivityDetails = ({ id='Measurement.SummaryText.Websites.Failed' values={{ date, - WebsiteURL: {input}, + WebsiteURL: {input}, network: probe_asn, country }} @@ -360,7 +373,7 @@ const WebConnectivityDetails = ({ id='Measurement.SummaryText.Websites.ConfirmedBlocked' values={{ date, - WebsiteURL: {input}, + WebsiteURL: {input}, network: probe_asn, country }} @@ -384,7 +397,7 @@ const WebConnectivityDetails = ({ id='Measurement.SummaryText.Websites.Anomaly' values={{ date, - WebsiteURL: {input}, + WebsiteURL: {input}, 'link-to-docs': (string) => ({string}), network: probe_asn, country, @@ -409,7 +422,7 @@ const WebConnectivityDetails = ({ id='Measurement.SummaryText.Websites.Accessible' values={{ date, - WebsiteURL: {input}, + WebsiteURL: {input}, network: probe_asn, country }} @@ -432,7 +445,7 @@ const WebConnectivityDetails = ({ id='Measurement.SummaryText.Websites.Down' values={{ date, - WebsiteURL: {input}, + WebsiteURL: {input}, network: probe_asn, country }} @@ -456,7 +469,7 @@ const WebConnectivityDetails = ({ id='Measurement.SummaryText.Websites.Failed' values={{ date, - WebsiteURL: {input}, + WebsiteURL: {input}, network: probe_asn, country }} @@ -489,9 +502,9 @@ const WebConnectivityDetails = ({ status: status, statusInfo: + {input} - + } message={reason} />, @@ -603,21 +616,5 @@ const WebConnectivityDetails = ({ ) } -WebConnectivityDetails.propTypes = { - country: PropTypes.string.isRequired, - input: PropTypes.any, - isAnomaly: PropTypes.bool.isRequired, - isConfirmed: PropTypes.bool.isRequired, - isFailure: PropTypes.bool.isRequired, - measurement: PropTypes.object.isRequired, - probe_asn: PropTypes.any, - render: PropTypes.func, - scores: PropTypes.shape({ - analysis: PropTypes.shape({ - blocking_type: PropTypes.any - }) - }), - measurement_start_time: PropTypes.any -} export default WebConnectivityDetails diff --git a/components/search/ResultsList.js b/components/search/ResultsList.js index b59866a65..283725393 100644 --- a/components/search/ResultsList.js +++ b/components/search/ResultsList.js @@ -220,8 +220,7 @@ ASNBox.propTypes = { asn: PropTypes.string } -// XXX add this to the design system -const StyledViewDetailsLink = styled.span` +const StyledViewDetailsLink = styled(NLink)` cursor: pointer; text-decoration: none; color: ${props => props.theme.colors.blue5}; @@ -234,9 +233,7 @@ const ViewDetailsLink = ({measurementUid, children}) => { let href = `/m/${measurementUid}` return ( - - {children} - + {children} ) } diff --git a/pages/api/cloudflare.js b/pages/api/cloudflare.js index 96e3826ae..e608cef96 100644 --- a/pages/api/cloudflare.js +++ b/pages/api/cloudflare.js @@ -1,12 +1,12 @@ import axios from 'axios' +import { LRUCache } from 'lru-cache' import dayjs from 'services/dayjs' -import LRU from 'lru-cache' const CACHE_MAX_SIZE = process.env.CACHE_MAX_SIZE || 100 const CACHE_MAX_AGE_IN_S = process.env.CACHE_MAX_AGE_IN_S || 60 * 60 const context = { - cache: new LRU({ + cache: new LRUCache({ max: CACHE_MAX_SIZE, ttl: CACHE_MAX_AGE_IN_S }) diff --git a/pages/search.js b/pages/search.js index 682d6ae49..c0c016b97 100644 --- a/pages/search.js +++ b/pages/search.js @@ -17,15 +17,15 @@ import styled from 'styled-components' import NavBar from '/components/NavBar' +import dynamic from 'next/dynamic' +import { sortByKey } from '../utils' import FormattedMarkdown from '/components/FormattedMarkdown' import FilterSidebar, { queryToFilterMap } from '/components/search/FilterSidebar' -// import { Loader } from '/components/search/Loader' import ResultsList from '/components/search/ResultsList' const Loader = dynamic(() => import('/components/search/Loader'), { ssr: false }) -import dynamic from 'next/dynamic' -import { sortByKey } from '../utils' + export const getServerSideProps = async ({query}) => { // By default, on '/search' show measurements published until today