├── public ├── .gitignore ├── favicon.ico ├── images │ ├── banda.png │ ├── partener.png │ ├── rovaccinare.jpg │ ├── supporters.png │ ├── favicon │ │ ├── favicon.ico │ │ ├── apple-icon.png │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── favicon-96x96.png │ │ ├── ms-icon-70x70.png │ │ ├── apple-icon-57x57.png │ │ ├── apple-icon-60x60.png │ │ ├── apple-icon-72x72.png │ │ ├── apple-icon-76x76.png │ │ ├── ms-icon-144x144.png │ │ ├── ms-icon-150x150.png │ │ ├── ms-icon-310x310.png │ │ ├── android-icon-36x36.png │ │ ├── android-icon-48x48.png │ │ ├── android-icon-72x72.png │ │ ├── android-icon-96x96.png │ │ ├── apple-icon-114x114.png │ │ ├── apple-icon-120x120.png │ │ ├── apple-icon-144x144.png │ │ ├── apple-icon-152x152.png │ │ ├── apple-icon-180x180.png │ │ ├── android-icon-144x144.png │ │ ├── android-icon-192x192.png │ │ ├── apple-icon-precomposed.png │ │ └── browserconfig.xml │ ├── embed.svg │ ├── chevrons-left.svg │ ├── chevrons-right.svg │ ├── icon-circle.svg │ ├── logo-coviz.svg │ ├── code4romania.svg │ └── cetrebuiesafac.svg ├── datelazi_banner.jpg ├── fonts │ ├── TitilliumWeb-Bold.woff2 │ ├── TitilliumWeb-Bold-ext.woff2 │ ├── TitilliumWeb-Regular.woff2 │ └── TitilliumWeb-Regular-ext.woff2 └── manifest.json ├── components ├── cards │ ├── gender │ │ ├── gender-card.module.css │ │ └── gender-card.jsx │ ├── summary │ │ ├── summary-card.module.css │ │ ├── summary-chart.theme.js │ │ └── summary-card.jsx │ ├── avg-age │ │ ├── avg-age-card.module.css │ │ └── avg-age-card.jsx │ ├── counties-table │ │ └── counties-table.jsx │ ├── large-cities-incidents-table │ │ └── large-cities-incidents-table.jsx │ ├── small-cities-incidents-table │ │ └── small-cities-incidents-table.jsx │ ├── counties-map │ │ └── counties-map.jsx │ ├── age │ │ └── age.jsx │ ├── age-category │ │ └── age-category.jsx │ ├── cases-per-day-card │ │ └── cases-per-day-card.jsx │ └── vaccines-per-day-card │ │ └── vaccines-per-day-card.jsx ├── layout │ ├── embed-button │ │ ├── embed-button.module.css │ │ └── embed-button.jsx │ ├── page-header │ │ ├── page-header.module.css │ │ └── page-header.jsx │ ├── table │ │ ├── table.module.css │ │ └── Table.jsx │ ├── card │ │ ├── card.module.css │ │ └── card.jsx │ ├── tabs │ │ └── tabs.jsx │ ├── default-layout.js │ ├── footer │ │ └── footer.jsx │ ├── instruments │ │ └── instruments.jsx │ └── rows │ │ └── summary-row.jsx ├── google-analytics │ └── google-analytics.jsx └── accessibility-table.jsx ├── .env ├── .eslintrc.json ├── .prettierrc ├── pages ├── index.module.css ├── _document.js ├── api │ └── revalidate.js ├── _app.js ├── about.js ├── embed │ └── [slug].js └── index.js ├── .github └── CODEOWNERS ├── utils ├── date.js ├── gtag.js ├── echarts.js └── parse.js ├── .gitignore ├── package.json ├── config ├── mnemonics.js ├── globals.js └── roGeo.json ├── styles ├── _fonts.scss └── index.scss ├── README.md └── LICENSE /public/.gitignore: -------------------------------------------------------------------------------- 1 | env-config.js -------------------------------------------------------------------------------- /components/cards/gender/gender-card.module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | NEXT_PUBLIC_API_URL=https://d35p9e4fm9h3wo.cloudfront.net 2 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true 4 | } 5 | -------------------------------------------------------------------------------- /pages/index.module.css: -------------------------------------------------------------------------------- 1 | .cards_row { 2 | margin-bottom: 15px; 3 | } -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/images/banda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/banda.png -------------------------------------------------------------------------------- /public/datelazi_banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/datelazi_banner.jpg -------------------------------------------------------------------------------- /public/images/partener.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/partener.png -------------------------------------------------------------------------------- /public/images/rovaccinare.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/rovaccinare.jpg -------------------------------------------------------------------------------- /public/images/supporters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/supporters.png -------------------------------------------------------------------------------- /public/images/favicon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/favicon.ico -------------------------------------------------------------------------------- /public/fonts/TitilliumWeb-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/fonts/TitilliumWeb-Bold.woff2 -------------------------------------------------------------------------------- /public/images/favicon/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/apple-icon.png -------------------------------------------------------------------------------- /public/fonts/TitilliumWeb-Bold-ext.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/fonts/TitilliumWeb-Bold-ext.woff2 -------------------------------------------------------------------------------- /public/fonts/TitilliumWeb-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/fonts/TitilliumWeb-Regular.woff2 -------------------------------------------------------------------------------- /public/images/favicon/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/favicon-16x16.png -------------------------------------------------------------------------------- /public/images/favicon/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/favicon-32x32.png -------------------------------------------------------------------------------- /public/images/favicon/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/favicon-96x96.png -------------------------------------------------------------------------------- /public/images/favicon/ms-icon-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/ms-icon-70x70.png -------------------------------------------------------------------------------- /public/images/favicon/apple-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/apple-icon-57x57.png -------------------------------------------------------------------------------- /public/images/favicon/apple-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/apple-icon-60x60.png -------------------------------------------------------------------------------- /public/images/favicon/apple-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/apple-icon-72x72.png -------------------------------------------------------------------------------- /public/images/favicon/apple-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/apple-icon-76x76.png -------------------------------------------------------------------------------- /public/images/favicon/ms-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/ms-icon-144x144.png -------------------------------------------------------------------------------- /public/images/favicon/ms-icon-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/ms-icon-150x150.png -------------------------------------------------------------------------------- /public/images/favicon/ms-icon-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/ms-icon-310x310.png -------------------------------------------------------------------------------- /public/fonts/TitilliumWeb-Regular-ext.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/fonts/TitilliumWeb-Regular-ext.woff2 -------------------------------------------------------------------------------- /public/images/favicon/android-icon-36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/android-icon-36x36.png -------------------------------------------------------------------------------- /public/images/favicon/android-icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/android-icon-48x48.png -------------------------------------------------------------------------------- /public/images/favicon/android-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/android-icon-72x72.png -------------------------------------------------------------------------------- /public/images/favicon/android-icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/android-icon-96x96.png -------------------------------------------------------------------------------- /public/images/favicon/apple-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/apple-icon-114x114.png -------------------------------------------------------------------------------- /public/images/favicon/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/apple-icon-120x120.png -------------------------------------------------------------------------------- /public/images/favicon/apple-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/apple-icon-144x144.png -------------------------------------------------------------------------------- /public/images/favicon/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/apple-icon-152x152.png -------------------------------------------------------------------------------- /public/images/favicon/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/apple-icon-180x180.png -------------------------------------------------------------------------------- /public/images/favicon/android-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/android-icon-144x144.png -------------------------------------------------------------------------------- /public/images/favicon/android-icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/android-icon-192x192.png -------------------------------------------------------------------------------- /public/images/favicon/apple-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code4romania/covid-19-date-la-zi/HEAD/public/images/favicon/apple-icon-precomposed.png -------------------------------------------------------------------------------- /components/cards/summary/summary-card.module.css: -------------------------------------------------------------------------------- 1 | .special { 2 | margin: 0 10px; 3 | font-size: 0.95em; 4 | } 5 | 6 | .mini_chart { 7 | height: 90px; 8 | } 9 | -------------------------------------------------------------------------------- /public/images/embed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | embed 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /components/layout/embed-button/embed-button.module.css: -------------------------------------------------------------------------------- 1 | .fab_action { 2 | position: absolute; 3 | top: 10px; 4 | right: 10px; 5 | border-radius: 4px; 6 | background-color: #f0f0f0; 7 | cursor: pointer; 8 | display: flex; 9 | align-items: center; 10 | padding: 6px 8px; 11 | } 12 | -------------------------------------------------------------------------------- /public/images/chevrons-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/chevrons-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/images/favicon/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | #ffffff -------------------------------------------------------------------------------- /public/images/icon-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/layout/page-header/page-header.module.css: -------------------------------------------------------------------------------- 1 | .page_header { 2 | margin-top: 30px; 3 | } 4 | 5 | .title { 6 | background: url(/images/icon-circle.svg) no-repeat; 7 | background-size: 1em; 8 | color: var(--accent-color); 9 | padding-left: 1.2em; 10 | color: #363636; 11 | font-size: 2rem; 12 | font-weight: 500; 13 | line-height: 1.125; 14 | } 15 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # These owners will be the default owners for everything in 2 | # the repo. Unless a later match takes precedence, 3 | # they will be requested for review when someone 4 | # opens a pull request. 5 | * @catileptic @CristiHabliuc @bvizureanu 6 | 7 | # More details on creating a codeowners file: 8 | # https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners -------------------------------------------------------------------------------- /utils/date.js: -------------------------------------------------------------------------------- 1 | export function formatDate(date) { 2 | return new Date(date).toLocaleString('ro-RO', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }); 3 | } 4 | 5 | export function formatShortDate(date) { 6 | return new Date(date).toLocaleString('ro-RO', { month: 'long', day: 'numeric' }); 7 | } 8 | 9 | export function dateFromTimestamp(timestamp) { 10 | return new Date(timestamp * 1000); 11 | } -------------------------------------------------------------------------------- /components/cards/avg-age/avg-age-card.module.css: -------------------------------------------------------------------------------- 1 | .circle { 2 | position: relative; 3 | border-radius: 50%; 4 | color: #000; 5 | text-align: center; 6 | border: 10px solid #2e8b57; 7 | display: flex; 8 | justify-content: center; 9 | align-items: center; 10 | } 11 | 12 | .circle:after { 13 | content: ""; 14 | display: block; 15 | padding-bottom: 100%; 16 | } 17 | 18 | .value { 19 | font-size: 5em; 20 | } 21 | -------------------------------------------------------------------------------- /components/layout/page-header/page-header.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styles from './page-header.module.css'; 3 | 4 | export class PageHeader extends React.PureComponent { 5 | render() { 6 | const { title, subtitle } = this.props; 7 | 8 | return ( 9 |
10 | {title &&

{title}

} 11 | {subtitle &&

{subtitle}

} 12 |
13 | ); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /components/layout/table/table.module.css: -------------------------------------------------------------------------------- 1 | @media only screen and (max-width: 650px) { 2 | .table_wrapper { 3 | overflow-x: auto; 4 | } 5 | .table_custom { 6 | white-space: nowrap; 7 | } 8 | } 9 | 10 | .tr { 11 | cursor: pointer; 12 | } 13 | 14 | .navigation_chevron { 15 | width: 24px; 16 | height: 24px; 17 | } 18 | 19 | .navigation { 20 | padding-top: 5px; 21 | bottom: 0px; 22 | display: block; 23 | width: 100%; 24 | min-width: 100%; 25 | height: 35px; 26 | } 27 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env.local 29 | .env.development.local 30 | .env.test.local 31 | .env.production.local 32 | 33 | # vercel 34 | .vercel 35 | -------------------------------------------------------------------------------- /pages/_document.js: -------------------------------------------------------------------------------- 1 | import Document, { Html, Head, Main, NextScript } from 'next/document' 2 | 3 | class MyDocument extends Document { 4 | static async getInitialProps(ctx) { 5 | const initialProps = await Document.getInitialProps(ctx) 6 | return { ...initialProps } 7 | } 8 | 9 | render() { 10 | return ( 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | ) 19 | } 20 | } 21 | 22 | export default MyDocument 23 | -------------------------------------------------------------------------------- /utils/gtag.js: -------------------------------------------------------------------------------- 1 | export const GA_TRACKING_ID = 'G-4FJRF0S0MW' 2 | 3 | const inIframe = () => { 4 | try { 5 | return window.self !== window.top 6 | } catch (e) { 7 | return true 8 | } 9 | } 10 | 11 | export const canIncludeScript = 12 | typeof window !== 'undefined' && 13 | window.location.hostname === 'covid19.datelazi.ro' && 14 | !inIframe() 15 | 16 | export const pageview = (url) => { 17 | if (!canIncludeScript) { 18 | return 19 | } 20 | 21 | window.gtag('config', GA_TRACKING_ID, { 22 | page_path: url, 23 | }) 24 | } 25 | -------------------------------------------------------------------------------- /components/layout/card/card.module.css: -------------------------------------------------------------------------------- 1 | .card { 2 | border: 1px solid #e2e5ed; 3 | position: relative; 4 | height: 100%; 5 | } 6 | .card__warning small { 7 | background: #fff177; 8 | border-radius: 5px; 9 | padding: 2px 8px; 10 | margin-top: 5px; 11 | } 12 | .card__warning_content { 13 | opacity: 0.6; 14 | } 15 | .card_header { 16 | border-bottom: 1px solid #e2e5ed; 17 | flex-direction: column; 18 | } 19 | 20 | .card_header_title { 21 | flex-direction: column; 22 | align-items: flex-start; 23 | } 24 | 25 | .is_error { 26 | color: red; 27 | text-align: center; 28 | margin: auto 0; 29 | } 30 | -------------------------------------------------------------------------------- /components/google-analytics/google-analytics.jsx: -------------------------------------------------------------------------------- 1 | import Head from 'next/head' 2 | import { canIncludeScript, GA_TRACKING_ID } from '../../utils/gtag' 3 | 4 | const GoogleAnalytics = () => 5 | canIncludeScript && ( 6 | 7 |