diff --git a/README.md b/README.md index b7b346b..2a56ce3 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,50 @@ # CoWIN Vaccination Slots Checking App. ---- -> TechStack - React JS, Material UI +--- -_MORE INFO YET TO BE ADDED... STAY TUNED_ +## Installation -# DON'T JUST CLONE, PLEASE LEAVE A STAR, MOTIVATES US TO ADD MORE FEATURES TO THE PROJECT. +This repository is easily accessible , so just run the following commands when setting up for the first time: +- `yarn install or npm install ` +- `yarn start or npm start ` +- Visit your app at [http://localhost:3000](http://localhost:3000). +## Features +CoWIN Vaccination Slots Checking App is a user Friendly website +that allow users to find vaccine in nearby available Center. +> The overall design goal for this project is +> helping people around nation to +> book their slots by providing details of +> available COVID19 vaccine at a particular Center -### _NOTE:_ Please check the Projects section to see the progress and the discussion panel to add your ideas, which will eventually be picked up for development +## Technologies Used + +CoWIN Vaccination Slots Checking App uses a number of open source projects : + +- REACT JS +
+- MATERIAL-UI +
+- STYLED COMPONENTS +
+ +--- + +> _DON'T JUST CLONE, PLEASE LEAVE A STAR 🌟, MOTIVATES US TO ADD MORE FEATURES TO THE PROJECT_ + +--- +
+ +#### CHECK THE FOLLOWING LINKS FOR LATEST UPDATES : + + - Production Link : https://cowinvaccinetracker.forcommunity.tech/ + - Staging Link: https://cowin-vaccine-availablity-checker.vercel.app/ +- New UI demo : https://cowinvaccinetracker.stephinreji.me/ + +
+
+ +#### *NOTE* : Please check the Projects section to see the progress and the discussion panel to add your ideas, which will eventually be picked up for development diff --git a/package.json b/package.json index d69a987..80a84ae 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "date-fns": "^2.21.1", "react": "^17.0.2", "react-dom": "^17.0.2", + "react-router-dom": "^5.2.0", "react-scripts": "4.0.3", "web-vitals": "^1.0.1" }, diff --git a/src/App.js b/src/App.js index b4f68eb..96db108 100644 --- a/src/App.js +++ b/src/App.js @@ -1,12 +1,30 @@ import React from "react"; import "./App.css"; +import Main from "./components/Main"; +import { BrowserRouter as Router, Switch, Route } from "react-router-dom"; + import Home from "./components/Home/Home"; +import Header from "./components/Header/Header"; +import About from "./components/About/About"; const App = () => { return ( -
- -
+ +
+
+ + +
+ + + + + + + + +
+
); }; diff --git a/src/components/About/About.css b/src/components/About/About.css new file mode 100644 index 0000000..d174e37 --- /dev/null +++ b/src/components/About/About.css @@ -0,0 +1,44 @@ +.about-container { + max-width: 1100px; + margin: auto; + overflow: hidden; + padding: 0 2rem; + font-family: "Fira Code Medium", "monospace"; +} + +.about-head{ + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 10px; +} + +.about-head p{ + font-weight: bold; + font-size: large; +} + +h4{ + color: #333333; + text-transform: capitalize; +} + +@media screen and (max-width: 500px) { + .about-container { + width: 350px; + } + + .about-head p{ + font-weight: bold; + font-size: 13px; + } + + .about-head h1{ + font-weight: bold; + font-size: 20px; + } + + h4{ + font-size: 10px; + } +} \ No newline at end of file diff --git a/src/components/About/About.js b/src/components/About/About.js new file mode 100644 index 0000000..9e82901 --- /dev/null +++ b/src/components/About/About.js @@ -0,0 +1,19 @@ +import "./About.css" + +const About = () => { + return ( + <> +
+
+

About this App

+

Version: 1.0.3

+
+
+
+

App to checkout the latest COVID19 Vaccination Slots Across India🎨

+
+ + ) +} + +export default About \ No newline at end of file diff --git a/src/components/Header/Header.css b/src/components/Header/Header.css new file mode 100644 index 0000000..633791b --- /dev/null +++ b/src/components/Header/Header.css @@ -0,0 +1,55 @@ +.header__leftImg { + width: 120px; + padding: 20px; + margin-top: -40px; +} + +.header { + display: flex; + justify-content: space-between; + padding: 10px; + width: 100%; + font-family: "Fira Code Medium", "monospace"; +} +.header__right { + display: flex; + margin: 25px; +} + +.header__right > h3 { + font-weight: 400; + margin-left: 30px; + margin-right: 30px; + cursor: pointer; +} + +.header__right > h3 a { + text-decoration: none; + color: black; +} + +@media screen and (max-width: 800px) { + .header__right > h3 { + font-weight: 400; + cursor: pointer; + } + .header__right { + margin-left: -20px; + } + + .header__rightNav { + margin-left: 20px; + } + + .header { + display: flex; + justify-content: space-between; + padding: 0; + align-items: flex-start; + width: 100%; + } +} + +body { + overflow-x: hidden; +} diff --git a/src/components/Header/Header.js b/src/components/Header/Header.js new file mode 100644 index 0000000..47794b2 --- /dev/null +++ b/src/components/Header/Header.js @@ -0,0 +1,29 @@ +import React from "react"; +import { Link } from "react-router-dom"; +import "./Header.css"; + +const Header = () => { + return ( +
+
+ + + +
+
+
+

Contribute

+ +

About

+ +
+
+
+ ); +}; + +export default Header; diff --git a/src/components/Home/Home.css b/src/components/Home/Home.css index 95cbeec..5f7cf70 100644 --- a/src/components/Home/Home.css +++ b/src/components/Home/Home.css @@ -1,105 +1,163 @@ -body { - background-color: #121212; -} -.home { - color: white; - background-position: center center; - background-size: 100%; - background-repeat: no-repeat; - height: calc(100vh - 20px); +@import url("https://fonts.googleapis.com/css2?family=Nunito&display=swap"); + +.home__intro > h2 { + margin-top: 50px; padding: 10px; + text-transform: uppercase; + font-weight: bold; + text-align: center; + font-family: "Nunito", sans-serif; + font-size: 35px; } -.home__info { - background-color: #352f44; - padding: 15px; - color: #bb86fc; - margin-top: 20px; - margin-bottom: 20px; - border-radius: 5px; +.home_selectionHeader { + display: flex; + justify-content: center; + flex-direction: column; + align-items: stretch; + margin-top: 15px; } -.home__optionLeft { - padding: 10px; - margin-top: 10px; - margin-left: -15px; +.home_selectionHeader h4 { + margin-bottom: 10px; + font-family: "Nunito", sans-serif !important; } -.home__option { - margin: 10px; +.home_selectedHeaders { + display: flex; + justify-content: space-between; } -.text > .MuiFormControl-root { - background-color: #31333f; - color: white !important; - width: 300px; - outline: 0 !important; - border-radius: 10px; - margin: 10px; +.home_selectedHeaders .form-control { + min-width: 300px !important; + margin-top: 15px; } -.MuiSelect-root { - color: white !important; +.districtDateInput { + margin-top: 37px !important; } -.MuiPaper-root { + +.empty_error { margin-top: 10px; - margin-left: 10px; + border-radius: 5px; + background-color: #5f235f; + color: whitesmoke; + padding: 10px 10px; + font-family: "Nunito", sans-serif !important; } -@media (max-width: 800px) { - .home__optionRight > .MuiFormControl-root { - width: 280px; - margin-left: 10px; - } - .home__info { - border-radius: 10px; - } +.home_selectedPin { + display: flex; + justify-content: space-between; + align-items: center; + margin-top: 10px; +} + +.home_selectedPin .home_selectedpincontainer .textField { + width: 500px; +} + +.home_selectedPin .input { + width: 330px; + margin-bottom: -10px; +} + +@media screen and (max-width: 1024px) { .home { - background-size: 300%; - height: 100vh; + display: flex; + flex-direction: column; + justify-content: center; + align-items: stretch; + max-width: 925px; + } + .home__intro > h2 { + margin-top: 20px; + font-size: 25px; } - .home__optionRight { + .home_selectedHeaders { display: flex; flex-direction: column; } - .text > .MuiFormControl-root { - background-color: #31333f; - color: white !important; - width: 280px; - outline: 0 !important; - border-radius: 10px; + + .districtDateInput { + margin-top: 20px !important; + } + + .home_selectedHeaders .form-control { + min-width: 270px !important; + margin-top: 15px; + } + + .home_selectedPin .home_selectedpincontainer .textField { + width: 300px; + } + + .home_selectedPin .input { + width: 300px; + } +} + +@media screen and (max-width: 700px) { + .home_selectedPin .home_selectedpincontainer .textField { + width: 250px; } - .date__picker { + .home_selectedPin .input { + width: 200px; + } +} + +@media screen and (max-width: 600px) { + .home { display: flex; flex-direction: column; justify-content: center; + align-items: stretch; + width: 410px; + } + .home__intro > h2 { + margin-top: 20px; + font-size: 25px; } - .MuiPaper-root { - margin-left: -5px; + .home_selectedHeaders { + display: flex; + flex-direction: column; + } + + .home_selectedHeaders .form-control { + min-width: 40px !important; + margin-top: 15px; + } + + .home_selectedPin { + display: flex; + flex-direction: column; + align-items: stretch; margin-top: 10px; } -} -body::-webkit-scrollbar { - display: none; -} + .home_selectedPin .home_selectedpincontainer .textField { + width: 370px; + } -.home__optionRight { - display: flex; - align-items: center; - justify-content: center; + .home_selectedPin .input { + margin-top: 15px; + width: 410px; + } } -.text { - display: flex; - flex-direction: column; -} +@media screen and (max-width: 400px) { + .home { + width: 380px; + } -.date__picker { - display: flex; - align-items: center; - margin-top: 20px; + .home_selectedPin .home_selectedpincontainer .textField { + width: 340px; + } + + .home_selectedPin .input { + width: 380px; + } } diff --git a/src/components/Home/Home.js b/src/components/Home/Home.js index 63a7baf..6b0a4e3 100644 --- a/src/components/Home/Home.js +++ b/src/components/Home/Home.js @@ -1,196 +1,387 @@ -import "date-fns"; -import React, { useEffect, useState } from "react"; +import React, { useState, useEffect } from "react"; import { - Grid, - Typography, - Container, - MenuItem, FormControl, + MenuItem, Select, - Paper, + InputLabel, TextField, + Container, } from "@material-ui/core"; import { - MuiPickersUtilsProvider, KeyboardDatePicker, + MuiPickersUtilsProvider, } from "@material-ui/pickers"; -import { makeStyles } from "@material-ui/core/styles"; +import "date-fns"; import DateFnsUtils from "@date-io/date-fns"; - -import VaccineDataMain from "../VaccineData/VaccineDataMain"; +import SearchIcon from "@material-ui/icons/Search"; import "./Home.css"; - -const useStyles = makeStyles((theme) => ({ - input: { - color: "#bb86fc", - }, - textfield: { - color: "#bb86fc", - height: "50px", - width: "248px", - padding: "0px 0px 0px 0px", - margin: "-5px 0px 0px 0px", - }, - paper: { - height: 70, - width: 250, - backgroundColor: "#31333F", - padding: "0px 10px 0px 10px", - }, -})); +import VaccineDataMain from "../VaccineData/VaccineDataMain"; const Home = () => { const [state, setState] = useState([]); - const [selectedDate, setSelectedDate] = useState(new Date()); const [stateCode, setStateCode] = useState("States"); - const [district, setDistricts] = useState([]); - const [districtCode, setDistrictCode] = useState("Districts"); - const [vaccineData, setVaccineData] = useState([]); + const [districts, setDistricts] = useState([]); + const [districtCode, setDistrictCode] = useState( + "PLEASE SELECT A STATE FIRST" + ); + const [pin, setPin] = useState(""); const [formattedDate, setFormattedDate] = useState(""); - const classes = useStyles(); + const [selectedDate, setSelectedDate] = useState(new Date()); + const [vaccineData, setVaccineData] = useState([]); + const [toSearchValue, setToSearchValue] = useState(""); + const [toSearch] = useState([ + "Find By District", + "Find By PinCode & Date", + "Find By Pincode & Date(Slots for next 7 days)", + "Find By District & Date(Slots for next 7 days)", + ]); - const GetFormattedDate = ()=> { + const GetFormattedDate = () => { var month = selectedDate.getMonth() + 1; var day = selectedDate.getDate(); var year = selectedDate.getFullYear(); - var finalDate = day + "-" + month + "-" + year; + var finalDate = day + "-" + month + "-" + year; - setFormattedDate(finalDate) - } + setFormattedDate(finalDate); + }; useEffect(() => { - GetFormattedDate() + fetch("https://cdn-api.co-vin.in/api/v2/admin/location/states") + .then((res) => res.json()) + .then((data) => { + setState(data.states); + }); + GetFormattedDate(); // eslint-disable-next-line }, [selectedDate, formattedDate]); const handleDateChange = (date) => { setSelectedDate(date); + setVaccineData([]); + setDistrictCode(""); }; - useEffect(() => { - fetch("https://cdn-api.co-vin.in/api/v2/admin/location/states") - .then((res) => res.json()) - .then((data) => { - setState(data.states) - }); - }, [setState]); - const onStateChange = async (e) => { const stateCode = e.target.value; + + setDistricts([]); + + console.log(stateCode); + const url = stateCode === "States" - ? "https://cdn-api.co-vin.in/api/v2/admin/location/districts/9" + ? null : `https://cdn-api.co-vin.in/api/v2/admin/location/districts/${stateCode}`; + await fetch(url) - .then((response) => response.json()) + .then((res) => res.json()) .then((data) => { setStateCode(stateCode); setDistricts(data.districts); }); }; - const onDistrictChange = async (e) => { + const findByDistrict = async (e) => { const districtCode = e.target.value; + const url = - stateCode === "Districts" + districtCode === "PLEASE SELECT A STATE FIRST" ? null - : `https://cdn-api.co-vin.in/api/v2/appointment/sessions/public/findByDistrict?district_id=${districtCode}&date=${formattedDate} - `; + : `https://cdn-api.co-vin.in/api/v2/appointment/sessions/public/findByDistrict?district_id=${districtCode}&date=${formattedDate}`; + await fetch(url) - .then((response) => response.json()) + .then((res) => res.json()) .then((data) => { setDistrictCode(districtCode); setVaccineData(data.sessions); - console.log(data.sessions) }); }; + const fetchDataUsingCalendarByPin = () => { + if (pin.length !== 6) { + alert("A Pincode must be of 6 digits"); + } else { + fetch( + `https://cdn-api.co-vin.in/api/v2/appointment/sessions/public/calendarByPin?pincode=${pin}&date=${formattedDate}` + ) + .then((res) => res.json()) + .then((data) => { + const pincodeData = data?.centers?.map((res) => ({ + name: res?.name, + vaccine: res?.sessions?.slice(0, 1).map((res) => res?.vaccine), + block_name: res?.block_name, + district_name: res?.district_name, + state_name: res?.state_name, + pincode: res?.pincode, + from: res?.from, + to: res?.to, + available_capacity: res?.sessions + ?.slice(0, 1) + .map((res) => res?.available_capacity), + date: res?.sessions?.slice(0, 1).map((res) => res?.date), + min_age_limit: res?.sessions + ?.slice(0, 1) + .map((res) => res?.min_age_limit), + fee_type: res?.fee_type, + slots: res?.sessions?.slice(0, 1).map((res) => res.slots), + })); + setVaccineData(pincodeData); + }); + } + }; + + const fetchDataUsingByPin = () => { + if (pin.length !== 6) { + alert("A Pincode must be of 6 digits"); + } else { + fetch( + `https://cdn-api.co-vin.in/api/v2/appointment/sessions/public/findByPin?pincode=${pin}&date=${formattedDate}` + ) + .then((res) => res.json()) + .then((data) => { + console.log(data); + setVaccineData(data.sessions); + }); + } + }; + return ( - -
-

CoWIN Vaccination Slot Availability

-
-

- The CoWIN APIs are geo fenced, so sometimes you may not see an - output! Please try after sometime -

-
+ <> + +
+
+

Vaccine Availablity

+
+
+
+

Select a method to search for slots

+ + + Search Criteria + + + +
+ + {toSearchValue === "" && ( +

Please Select an Option

+ )} -
-
-
- Select State - + {toSearchValue === "Find By District" ? ( +
+ + + {districts?.length !== 0 ? ( + <> + + + ) : ( + <> + + + )} + + + +
-
- Select District - + ) : null} + + {toSearchValue === + "Find By District & Date(Slots for next 7 days)" ? ( +
+ -
-
- - - - - - - - - - - + {districts?.length !== 0 ? ( + <> + + + ) : ( + <> + + + )} + + + +
-
+ ) : null} + + {toSearchValue === "Find By Pincode & Date(Slots for next 7 days)" ? ( +
+
+ setPin(e.target.value)} + /> + +
+ + + +
+ ) : null} + + {toSearchValue === "Find By PinCode & Date" ? ( +
+
+ setPin(e.target.value)} + /> + +
+ + + +
+ ) : null} + +
- -
- + + ); }; diff --git a/src/components/Main.css b/src/components/Main.css new file mode 100644 index 0000000..9d6eb43 --- /dev/null +++ b/src/components/Main.css @@ -0,0 +1,51 @@ +.test__home > img { + width: 550px; +} + +.test__home { + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; + margin-right: 40px; +} + +.test__homeText { + border: 3px solid black; + padding: 10px 55px 10px 50px; + margin-top: -25px; + font-weight: 400; + text-align: center; +} + +.test__homeText:hover { + border: 3px solid black; + color: white; + padding: 10px 55px 10px 50px; + margin-top: -25px; + transition: 0.5s; + background-color: black; + font-weight: 400; + text-align: center; +} + +@media screen and (max-width: 800px) { + .test__home > img { + width: 300px; + } + .test__home { + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; + margin-right: -10px; + margin-top: 40px; + } + .test__home { + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; + margin-left: 20px; + } +} diff --git a/src/components/Main.js b/src/components/Main.js new file mode 100644 index 0000000..52c20ab --- /dev/null +++ b/src/components/Main.js @@ -0,0 +1,25 @@ +import React from "react"; +import { Link } from "react-router-dom"; +import "./Main.css"; + +const Test = () => { + return ( +
+
+ + + +

Vaccine Availability

+ +
+
+ ); +}; + +export default Test; diff --git a/src/components/VaccineData/SingleVaccineData/VaccineDataSingle.css b/src/components/VaccineData/SingleVaccineData/VaccineDataSingle.css index 75dd4ed..d70215e 100644 --- a/src/components/VaccineData/SingleVaccineData/VaccineDataSingle.css +++ b/src/components/VaccineData/SingleVaccineData/VaccineDataSingle.css @@ -1,293 +1,421 @@ +@import url("https://fonts.googleapis.com/css2?family=Raleway&family=Roboto&family=Ubuntu&display=swap"); +@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@500&display=swap'); +/* font-family: 'Raleway', sans-serif; +font-family: 'Roboto', sans-serif; +font-family: 'Ubuntu', sans-serif; */ + .wrapper { - display: flex; - background-color: #333333; - height: 32vh + display: flex; + background-color: #333333; + height: 32vh; } .wrapper > * { - padding: 20px; + padding: 20px; } .paper-left { - width: 50%; + width: 50%; } -.paper-left h1{ - color: whitesmoke; - text-transform: uppercase; - font-family: monospace; +.paper-left h1 { + /* color: white; */ + text-align: center; + color: black; + text-transform: uppercase; + font-family: "Ubuntu", sans-serif; + font-size: 18px; + letter-spacing: 1px; +} +.paper-left_vaccine_head { + display: flex; + justify-content: space-between; + align-items: center; } -.paper-left_vaccine_head{ - display: flex; - justify-content: space-between; - align-items: center; +.paper-left_vaccine_head h3 { + text-transform: uppercase; + font-weight: bold; + color: #275efe; + font-family: 'Fira Code', monospace; + letter-spacing: 2px; +} +.paper-left_vaccine_head p { + text-transform: uppercase; + font-weight: bold; + color: black; + /* background-color: lightblue; */ + box-shadow: inset 0 0 35px 5px rgba(0, 0, 0, 0.25), + inset 0 2px 1px 1px rgba(255, 255, 255, 0.9), + inset 0 -2px 1px 0 rgba(0, 0, 0, 0.25); + font-family: monospace; + background-color: #fff; + border: 1px solid; + padding: 10px; + border-radius: 7px; + text-align: center; } -.paper-left_vaccine_head h3{ - text-transform: uppercase; - font-weight: bold; - color: white; - font-family: "Fira Code Medium", "monospace"; +.paper-left .paper-left_content { + display: flex; + justify-content: space-between; + margin-top: 10px; } -.paper-left_vaccine_head p{ - text-transform: uppercase; - font-weight: bold; - color: black; - font-family: monospace; - background-color: #009E60; - padding: 10px; - border-radius: 7px; - text-align: center; +.paper-left .paper-left_content h3 { + /* color: #BB86FC; */ + color: #212121; + font-weight: bold; + text-transform: capitalize; } -.paper-left .paper-left_content{ - display: flex; - justify-content: space-between; - margin-top: 10px; +.paper-left .paper-left_content p { + /* color: #F48FB1; */ + color: red; + /* color: black; */ + margin-top: 5px; + text-transform: capitalize; + font-family: "Raleway", sans-serif; + font-size: 16px; + letter-spacing: 1px; } +.paper-left .paper-left_time { + display: flex; + justify-content: space-evenly; + margin-top: 5px; +} +.paper-left .paper-left_time .time:hover { + color: #002060; +} +.paper-left .paper-left_time .time { + padding: 10px; + border-radius: 7px; + font-weight: bold; +} -.paper-left .paper-left_content h3{ - color: #BB86FC; - font-weight: bold; - text-transform: capitalize; +.paper-left .paper-left_time .open-time { + /* background-color: rgb(20, 209, 20); + -moz-box-shadow: inset 0 0 10px green; + -webkit-box-shadow: inset 0 0 10px green; + box-shadow: inset 0 0 10px green; */ + background-color: white; + color: black; + border: 1px solid; + box-shadow: inset 2px 0px 10px 2px white, inset 0px 0px 4px 0px black; + font-family: "Raleway", sans-serif; } -.paper-left .paper-left_content p{ - color: #F48FB1; - margin-top: 5px; - text-transform: capitalize; - font-family: monospace; +.paper-left .paper-left_time .close-time { + /* background-color: rgb(231, 31, 125); + background-color: white; */ + color: black; + background-color: white; + box-shadow: inset 2px 0px 10px 2px white, inset 0px 0px 4px 0px black; + border: 1px solid; + font-family: "Raleway", sans-serif; } -.paper-left .paper-left_time { - display: flex; - justify-content: space-evenly; - margin-top: 10px; +.paper-right { + width: 50%; } -.paper-left .paper-left_time .time{ - padding: 10px; - border-radius: 7px; - font-weight: bold; +.paper-right_Badges { + display: flex; + justify-content: space-between; } -.paper-left .paper-left_time .open-time{ - background-color: #009E60; - font-family: monospace; +.paper-right_Badges h5 { + margin-right: 10px; + /* color: rgb(241, 11, 11); */ + color: #275efe; + font-family: "Roboto", sans-serif; + font-size: 20px; } -.paper-left .paper-left_time .close-time{ - background-color: rgb(222,49,99); - color: white; - font-family: monospace; +.paper-right_Badges .healing_icon { + color: white; } -.paper-right { - width: 50%; +.paper-right_Badges p { + color: #275efe; + font-size: 15px; } -.paper-right_Badges{ - display: flex; - justify-content: space-between; +.paper-right_Badges p span { + color: rgb(255, 255, 255); + color: black; + font-family: monospace; + font-size: 20px; } -.paper-right_Badges h5{ - margin-right: 10px; - color: aquamarine; - font-family: monospace; - font-size: 22px; +.paper-right_age { + display: flex; + justify-content: space-between; + align-items: center; + margin-top: 10px; } -.paper-right_Badges .healing_icon{ - color: white; +.paper-right_age .age_text h3 { + color: rgb(10, 192, 107); + color: black; + font-family: "Raleway", sans-serif; + font-size: 17px; } -.paper-right_Badges p { - color: whitesmoke; - font-size: 15px; +.paper-right_age .age_content p { + margin-bottom: 5px; + font-size: 19px; + font-weight: 600; + color: red; } -.paper-right_Badges p span{ - color: aquamarine; - font-family: monospace; - font-size: 20px; +.paper-right_age .age_content { + height: 25px; + width: 75px; + padding: 5px; + border-radius: 3px; + display: flex; + justify-content: center; + align-items: center; } -.paper-right_age{ - display: flex; - justify-content: space-between; - align-items: center; - margin-top: 10px; +.paper-right_slots h3 { + text-align: center; + font-weight: 700; + color: #275efe; + margin: 5px; } -.paper-right_age .age_text h3{ - color: aquamarine; - font-family: monospace; - font-size: 20px; +.paper-right_slots p { + color: rgb(100, 4, 4); + color: #374957; + font-size: 17px; + text-align: center; } -.paper-right_age .age_content p{ - margin-bottom: 5px; - font-size: 20px; +/*Media Queries*/ +@media screen and (max-width: 1496px) { + .wrapper { + height: 37vh; + } +} +@media screen and (max-width: 1024px) { + .wrapper { + height: 37vh; + } +} +@media screen and (max-width: 916px){ + .paper-left .paper-left_content p { + font-size: 15px; + } + .paper-left .paper-left_time .open-time{ + font-size: 15px; + } + .paper-left .paper-left_time .close-time{ + font-size: 15px; + } +} +@media screen and (max-width: 890px) { + .paper-left h1{ + font-size: 16px; + } + .paper-left .paper-left_time .open-time{ + font-size: 13px; + } + .paper-left .paper-left_time .close-time{ + font-size: 13px; + } + .MuiSvgIcon-root { + font-size: 1.18rem; +} +} +@media screen and (max-width: 812px) { + .wrapper { + height: 40vh; + } + .paper-left .paper-left_content p { + font-size: 12px; + } + .paper-left .paper-left_time{ + margin-top: 20px; + } + .paper-left h1{ + font-size: 14px; + } + .paper-right_Badges h5{ + font-size: 16px; + } + .paper-right_slots p{ + font-size: 15px; + } + .paper-left .paper-left_time .open-time{ + font-size: 11px; + } + .paper-left .paper-left_time .close-time{ + font-size: 11px; + } +} +@media screen and (max-width: 722px) { + .wrapper { + height: 42vh; + } + + .paper-left .paper-left_time .open-time{ + font-size: 10px; + } + .paper-left .paper-left_time .close-time{ + font-size: 10px; + } + .paper-left .paper-left_content p { + font-size: 11px; + } + .paper-right_Badges p{ + font-size: 12px; + } + .paper-left .paper-left_time{ + margin-top: 30px; + } } +@media screen and (max-width: 690px) { + .wrapper { + height: 47vh; + } + .paper-left_vaccine_head h3{ + font-size: 15px; + } + .paper-right_Badges h5 { + font-size: 14px; + } + .paper-right_Badges p { + font-size: 10px; + } + .paper-left .paper-left_content h3{ + font-size: 13px; + } + .paper-left .paper-left_time .open-time{ + font-size: 10px; + } + .paper-left .paper-left_time .close-time{ + font-size: 10px; + } + .paper-left .paper-left_content p { + font-size: 11px; + } + .paper-right_Badges p{ + font-size: 12px; + } +} +@media screen and (max-width: 646px) { + .wrapper { + height: 80vh; + flex-direction: column; + } + + .paper-left { + width: 90%; + } -.paper-right_age .age_content{ - background-color: rgb(222,49,99); - height: 25px; - width: 75px; + .paper-left_vaccine_head { + flex-direction: column; + } + + .paper-left_vaccine_head h3 { + font-size: 15px; + margin-bottom: 10px; + } + .paper-left .paper-left_content h3{ + font-size: 15px; + } + .paper-left_vaccine_head p { padding: 5px; - border-radius: 3px; - color: white; + font-size: 15px; + border-radius: 7px; + text-align: center; + } + .paper-left .paper-left_content p { + font-size: 15px; + } + .paper-left p { + width: 100%; + } + .paper-left .paper-left_time{ + margin-top: 20px; + } + .paper-left .paper-left_content { display: flex; - justify-content: center; - align-items: center; -} + flex-direction: column; + } -.paper-right_slots h3{ + .paper-left .paper-left_time { + display: flex; + flex-direction: column; + text-align: center; + letter-spacing: 2px; + } + + .paper-left .paper-left_time .time { + margin-top: 5px; + } + + .paper-right { + width: 90%; + } + + .paper-right_Badges h5 { + margin-top: 5px; + margin-right: 3px; + font-weight: bold; + font-size: 11px; + } + + .paper-right_Badges .healing_icon { + font-size: 20px; + } + + .paper-right_Badges p { + margin-top: 5px; + font-size: 15px; + } + + .paper-right_Badges p span { + font-size: 15px; + } + + .paper-right_age { + margin-top: 3px; + } + + .paper-right_age .age_text h3 { + font-size: 13px; + } + + .paper-right_age .age_content { + height: 15px; + width: 65px; + padding: 3px; + border-radius: 3px; + } + + .paper-right_age .age_content p { + margin-bottom: 1px; + font-size: 13px; + } + + .paper-right_slots h3 { text-align: center; font-weight: 700; - color: #BB86FC; - margin: 5px; -} + margin: 3px; + } -.paper-right_slots p{ - color: whitesmoke; - font-size: 17px; + .paper-right_slots p { + font-size: 15px; text-align: center; + } } - -/*Media Queries*/ -@media screen and (max-width: 1024px){ - .wrapper { - height: 35vh; - } -} - -@media screen and (max-width: 850px){ - .wrapper { - height: 40vh; - } -} - -@media screen and (max-width: 500px) { - .wrapper { - height: 70vh; - flex-direction: column; - } - - .paper-left { - width: 90%; - } - - .paper-left_vaccine_head{ - flex-direction: column; - } - - .paper-left_vaccine_head h3{ - font-size: 15px; - margin-bottom: 10px; - } - - .paper-left_vaccine_head p{ - padding: 5px; - font-size: 15px; - border-radius: 7px; - text-align: center; - } - - .paper-left p { - width: 100%; - } - - .paper-left .paper-left_content{ - display: flex; - flex-direction: column; - } - - .paper-left .paper-left_time { - display: flex; - flex-direction: column; - text-align: center; - } - - .paper-left .paper-left_time .time{ - margin-top: 5px; - } - - .paper-right { - width: 90%; - } - - .paper-right_Badges h5{ - margin-top: 5px; - margin-right: 3px; - color: aquamarine; - font-weight: bold; - font-size: 11px; - } - - .paper-right_Badges .healing_icon{ - font-size: 20px; - } - - .paper-right_Badges p { - margin-top: 5px; - color: whitesmoke; - font-size: 15px; - } - - .paper-right_Badges p span{ - font-size: 15px; - } - - .paper-right_age{ - margin-top: 3px; - } - - .paper-right_age .age_text h3{ - font-size: 13px; - } - - .paper-right_age .age_content{ - background-color: rgb(222,49,99); - height: 15px; - width: 65px; - padding: 3px; - border-radius: 3px; - color: white; - } - - .paper-right_age .age_content p{ - margin-bottom: 1px; - font-size: 13px; - } - - .paper-right_slots h3{ - text-align: center; - font-weight: 700; - color: #BB86FC; - margin: 3px; - } - - .paper-right_slots p{ - color: whitesmoke; - font-size: 15px; - text-align: center; - } -} - -@media screen and (max-width: 400px){ - .wrapper { - height: 82vh; - } -} - -@media screen and (max-width: 360px){ - .wrapper { - height: 100vh; - } +@media screen and (max-width: 502px) { + .wrapper { + height: 82vh; + } } \ No newline at end of file diff --git a/src/components/VaccineData/SingleVaccineData/VaccineDataSingle.js b/src/components/VaccineData/SingleVaccineData/VaccineDataSingle.js index 0b4325f..17e7fa3 100644 --- a/src/components/VaccineData/SingleVaccineData/VaccineDataSingle.js +++ b/src/components/VaccineData/SingleVaccineData/VaccineDataSingle.js @@ -1,87 +1,108 @@ -import { makeStyles } from '@material-ui/core/styles'; -import Paper from '@material-ui/core/Paper'; -import Badge from '@material-ui/core/Badge'; - -import HealingIcon from '@material-ui/icons/Healing'; -import VerifiedUserRoundedIcon from '@material-ui/icons/VerifiedUserRounded'; - -import "./VaccineDataSingle.css" +import { makeStyles } from "@material-ui/core/styles"; +import Paper from "@material-ui/core/Paper"; +import Badge from "@material-ui/core/Badge"; +import HealingIcon from "@material-ui/icons/Healing"; +import VerifiedUserRoundedIcon from "@material-ui/icons/VerifiedUserRounded"; +import "./VaccineDataSingle.css"; const useStyles = makeStyles((theme) => ({ - paperMainDiv:{ - width: "100%" - }, + paperMainDiv: { + width: "100%", + }, })); +const VaccineDataSingle = (vaccine) => { + const classes = useStyles(); + return ( +
+ +
+
+

+ {vaccine?.name}{" "} + +

+
+
+
+
+

Vaccine Name

+ {vaccine.vaccine === "COVISHIELD" ? ( +

+ {vaccine?.vaccine} +

+ ) : ( +

+ {vaccine?.vaccine} +

+ )} +
-const VaccineDataSingle = (vaccine)=> { - const classes = useStyles(); - - return( -
- -
-
-

{vaccine.name}

-
-
-
-
-

Vaccine Name

-

{vaccine.vaccine}

-
- -
-

address

-

{vaccine.block_name}, {vaccine.district_name}, {vaccine.state_name}

-
-
-

pincode

-

{vaccine.pincode}

-
-
-
- Opening Time: {vaccine.from} -
-
- Closing Time: {vaccine.to} -
-
-
-
-
-
- -
Available Capacity
-
-
-
-

Date:{vaccine.date}

-
-
-
-
-

Minimum Age

-
-
-

{vaccine.min_age_limit} years

-
-
-
-
-

Minimum Fare(₹)

-
-
-

{vaccine.fee_type}

-
-
-
-

Slots Available

-

{vaccine.slots.join(",")}

-
-
-
+
+

address

+

+ {vaccine?.block_name}, {vaccine?.district_name},{" "} + {vaccine?.state_name} +

+
+
+

pincode

+

{vaccine?.pincode}

+
+
+
Opening Time: {vaccine.from}
+
Closing Time: {vaccine.to}
+
+
+
+
+
+ +
Available Capacity
{" "} + +
+
+
+

+ Date: + {vaccine?.date} +

+
+
+
+
+

Minimum Age

+
+
+

{vaccine?.min_age_limit} years

+
+
+
+
+

Minimum Fare(₹)

+
+
+ {vaccine.fee_type === "Free" ? ( +

{vaccine?.fee_type}

+ ) : ( +

{vaccine?.fee_type}

+ )} +
+
+
+

Slots Available

+

{vaccine?.slots?.join(",")}

+
- ) -} + +
+ ); +}; -export default VaccineDataSingle \ No newline at end of file +export default VaccineDataSingle; diff --git a/src/components/VaccineData/VaccineDataMain.js b/src/components/VaccineData/VaccineDataMain.js index 4a639be..d363718 100644 --- a/src/components/VaccineData/VaccineDataMain.js +++ b/src/components/VaccineData/VaccineDataMain.js @@ -1,18 +1,18 @@ import VaccineDataSingle from "./SingleVaccineData/VaccineDataSingle"; -const VaccineDataMain = ({vaccineData}) => { - return ( +const VaccineDataMain = ({ vaccineData }) => { + return ( + <> + {vaccineData.length !== 0 ? ( <> - { - vaccineData.map((vaccine)=>{ - const {center_id} = vaccine - return( - - ) - }) - } + {vaccineData.map((vaccine) => { + const { center_id } = vaccine; + return ; + })} - ) -} + ) : null} + + ); +}; -export default VaccineDataMain; \ No newline at end of file +export default VaccineDataMain; diff --git a/yarn.lock b/yarn.lock index e46ba7e..2df66eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1091,6 +1091,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.6.0", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" + integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": version "7.12.18" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.18.tgz#af137bd7e7d9705a412b3caaf991fe6aaa97831b" @@ -1098,13 +1105,6 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.6.0", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" - integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/template@^7.10.4", "@babel/template@^7.12.13", "@babel/template@^7.3.3": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" @@ -5563,6 +5563,18 @@ hex-color-regex@^1.1.0: resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== +history@^4.9.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -5572,7 +5584,7 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -6266,6 +6278,11 @@ is-wsl@^2.1.1, is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -7183,7 +7200,7 @@ loglevel@^1.6.8: resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== -loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -7389,6 +7406,14 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== +mini-create-react-context@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" + integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== + dependencies: + "@babel/runtime" "^7.12.1" + tiny-warning "^1.0.3" + mini-css-extract-plugin@0.11.3: version "0.11.3" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz#15b0910a7f32e62ffde4a7430cfefbd700724ea6" @@ -8148,6 +8173,13 @@ path-to-regexp@0.1.7: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + path-type@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" @@ -9228,7 +9260,7 @@ react-error-overlay@^6.0.9: resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== -react-is@^16.7.0, react-is@^16.8.1: +react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -9248,6 +9280,35 @@ react-refresh@^0.8.3: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== +react-router-dom@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" + integrity sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA== + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.2.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" + integrity sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw== + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + mini-create-react-context "^0.4.0" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + react-scripts@4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-4.0.3.tgz#b1cafed7c3fa603e7628ba0f187787964cb5d345" @@ -9622,6 +9683,11 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + resolve-url-loader@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz#235e2c28e22e3e432ba7a5d4e305c59a58edfc08" @@ -10729,7 +10795,12 @@ timsort@^0.3.0: resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= -tiny-warning@^1.0.2: +tiny-invariant@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" + integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== + +tiny-warning@^1.0.0, tiny-warning@^1.0.2, tiny-warning@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== @@ -11151,6 +11222,11 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"