diff --git a/package-lock.json b/package-lock.json index f81d195..5f88250 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5461,6 +5461,11 @@ "strip-eof": "^1.0.0" } }, + "exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=" + }, "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -11347,6 +11352,17 @@ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, + "react-modal": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.11.2.tgz", + "integrity": "sha512-o8gvvCOFaG1T7W6JUvsYjRjMVToLZgLIsi5kdhFIQCtHxDkA47LznX62j+l6YQkpXDbvQegsDyxe/+JJsFQN7w==", + "requires": { + "exenv": "^1.2.0", + "prop-types": "^15.5.10", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" + } + }, "react-router": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", @@ -13835,6 +13851,14 @@ "makeerror": "1.0.x" } }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + }, "watchpack": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", diff --git a/package.json b/package.json index a56f4f3..76a21b1 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "react-dom": "^16.13.1", "react-icons": "^3.10.0", "react-json-view": "^1.19.1", + "react-modal": "^3.11.2", "react-router-dom": "^5.2.0", "react-scripts": "3.4.1", "react-tabs": "^3.1.1", diff --git a/src/components/AddToList.jsx b/src/components/AddToList.jsx index 55067b6..17a343f 100644 --- a/src/components/AddToList.jsx +++ b/src/components/AddToList.jsx @@ -1,7 +1,160 @@ -import React from "react"; +import React, {useState} from "react"; +import Modal from 'react-modal'; import {Button} from './Button'; import './AddToList.scss'; +import {useStateValue} from "../services/State"; +import {wait} from "../services/utils"; +import {AiFillStar, AiOutlineStar} from "react-icons/all"; +import {add_to_list} from "../services/list_service"; + +const Star = (props) => { + return ( +
+ {props.selected ? + : + + } +
+ ) +} + +const Stars = (props) => { + const getSelected = (i) => { + return i <= props.stars + } + + const handleStarClick = (i) => () => { + if (props.stars === i) { + props.onChange(0); + } else { + props.onChange(i); + } + } + + const stars = [ + , + , + , + , + , + ] + + return ( +
+ {stars} +
+ ); +} + +const Opinion = (props) => { + const handleInput = (event) => { + props.onChange(event.target.value); + } + + return ( +