diff --git a/.circleci/config.yml b/.circleci/config.yml index 3fe45e002..4dd8ca76b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,7 +16,7 @@ executors: working_directory: *workspace_root jobs: - api: + setup: executor: main-executor steps: - checkout @@ -34,36 +34,6 @@ jobs: paths: - _api - _data - gatsby-build: - executor: main-executor - steps: - - checkout - - attach_workspace: - at: *workspace_root - - run: - name: apt-update - command: 'sudo apt-get update' - - run: - name: install-dependencies - command: 'sudo apt-get install gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget' - - run: - name: install - command: 'yarn install' - - run: - name: setup - command: 'yarn run setup:env-vars' - - run: - name: build - command: 'yarn run build:gatsby' - - run: - name: test - command: 'yarn run build:test' - - persist_to_workspace: - root: *workspace_root - paths: - - _api - - _data - - public gatsby-test: executor: main-executor steps: @@ -90,32 +60,14 @@ jobs: - run: name: lint command: 'yarn run test:lint' - storybook: - executor: main-executor - steps: - - checkout - - attach_workspace: - at: *workspace_root - - run: - name: install - command: 'yarn install' - - run: - name: storybook - command: 'yarn run storybook:build' workflows: version: 2 build_and_test: jobs: - - api - - gatsby-build: - requires: - - api + - setup - gatsby-lint: requires: - - api + - setup - gatsby-test: requires: - - api - - storybook: - requires: - - api + - setup diff --git a/gatsby-config.js b/gatsby-config.js index 31e92d2ba..044c900f7 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -242,6 +242,13 @@ const gatsbyConfig = { type: 'covidAnnotation', }, }, + { + resolve: 'gatsby-source-covid-tracking-api', + options: { + file: './_data/ltc_fed_vaccinations.json', + type: 'ltcFedVaccinations', + }, + }, { resolve: 'gatsby-source-covid-tracking-api', options: { @@ -303,6 +310,14 @@ const gatsbyConfig = { }, }, }, + { + resolve: 'gatsby-source-covid-tracking-counties', + options: { + type: 'Counties', + counties: `${__dirname}/_data/nyt_counties.json`, + demographics: `${__dirname}/_data/census_demographics_counties.json`, + }, + }, { resolve: 'gatsby-render-components', options: { diff --git a/src/components/pages/data/cards/long-term-care-vaccinations.js b/src/components/pages/data/cards/long-term-care-vaccinations.js new file mode 100644 index 000000000..6afc0029a --- /dev/null +++ b/src/components/pages/data/cards/long-term-care-vaccinations.js @@ -0,0 +1,34 @@ +import React from 'react' +import { Link } from 'gatsby' +import { Card, CardBody, CardNote } from '~components/common/card' +import { Statistic } from '~components/common/statistic' +import LastUpdatedLabel from './last-updated-label' + +const LongTermCareVaccinations = ({ ltcFedVaccinations }) => ( + + + + + + + + Vaccinations administered through the{' '} + + Pharmacy Partnership for Long-Term Care Program + + + + + +) + +export default LongTermCareVaccinations diff --git a/src/components/pages/data/state-data.js b/src/components/pages/data/state-data.js index 1bf7fe0ee..9f3fb4d98 100644 --- a/src/components/pages/data/state-data.js +++ b/src/components/pages/data/state-data.js @@ -33,6 +33,7 @@ const State = ({ state, metadata }) => { longTermCare={state.childLtc} annotations={state.annotations} hhsHospitalization={state.hhsHospitalization} + ltcFedVaccinations={state.ltcFedVaccinations} /> { const stateList = [] @@ -58,6 +59,10 @@ const States = ({ ? hhsHospitalization.find(record => record.state === state.state) : false + state.ltcFedVaccinations = ltcFedVaccinations + ? ltcFedVaccinations.find(record => record.Location === state.state) + : false + stateList.push(state) }) diff --git a/src/components/pages/data/summary.js b/src/components/pages/data/summary.js index 3d84441ae..bcb79502b 100644 --- a/src/components/pages/data/summary.js +++ b/src/components/pages/data/summary.js @@ -18,7 +18,7 @@ import TestsViralCard from './cards/tests-viral' import NationalTestsCard from './cards/tests-national' import LongTermCareCard from './cards/long-term-care' import HospitalizationHhsCard from './cards/hospitalization-hhs-card' - +import LongTermCareVaccinationsCard from './cards/long-term-care-vaccinations' import createRaceValues from './cards/crdt/create-race-data' import CrdtCasesCard from './cards/crdt/cases-card' import CrdtDeathsCard from './cards/crdt/deaths-card' @@ -54,6 +54,7 @@ const StateSummary = ({ longTermCare, raceData, hhsHospitalization, + ltcFedVaccinations, annotations = false, national = false, }) => { @@ -364,17 +365,27 @@ const StateSummary = ({ recoveredMetricName={getMetricTitle('Recovered', annotations)} national={national} /> - {!national && ( + + {national && } + + {!national && ( + <> +

Long-term-care facilities

+
- )} -
- {national && } - + {ltcFedVaccinations && ( + + )} + + + )} {!national && ( <>

Race & ethnicity data

diff --git a/src/pages/data/index.js b/src/pages/data/index.js index caa9d3ba6..bb92409bd 100644 --- a/src/pages/data/index.js +++ b/src/pages/data/index.js @@ -54,6 +54,7 @@ const DataPage = ({ data }) => { raceDataCombined={data.allCovidRaceDataCombined.nodes} raceDataSeparate={data.allCovidRaceDataSeparate.nodes} hhsHospitalization={data.allHhsHospitals.nodes} + ltcFedVaccinations={data.allLtcFedVaccinations.nodes} /> ) @@ -294,5 +295,14 @@ export const query = graphql` total_pediatric_patients_hospitalized_confirmed_covid } } + allLtcFedVaccinations { + nodes { + Administered_Fed_LTC + Administered_Fed_LTC_Dose1 + Administered_Fed_LTC_Dose2 + Date + Location + } + } } ` diff --git a/src/templates/state/index.js b/src/templates/state/index.js index c5ff53107..60c79948c 100644 --- a/src/templates/state/index.js +++ b/src/templates/state/index.js @@ -31,6 +31,7 @@ const StateTemplate = ({ pageContext, data, path }) => { allTweets, allCovidAnnotation, hhsHospitals, + ltcFedVaccinations, } = data return ( { raceData={getRaceData(data)} longTermCare={data.covidStateInfo.childLtc} hhsHospitalization={hhsHospitals} + ltcFedVaccinations={ltcFedVaccinations} />