Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | 4x 120x 120x 120x 120x 120x 2x 2x 2x 2x | import React from "react"; import { Card, Button, Row, Col } from "react-bootstrap"; import { useCurrentUser, hasRole } from "main/utils/currentUser"; import { useParams } from "react-router-dom"; // add parameters const ManageCows = ({ userCommons, commons, setMessage, openModal }) => { // update cowPrice from fixture const { data: currentUser } = useCurrentUser(); let { userId } = useParams(); userId = userId ? parseInt(userId, 10) : NaN; // Stryker disable all const isViewOnly = hasRole(currentUser, "ROLE_ADMIN") && !isNaN(userId); // Stryker restore all return ( <Card> <Card.Header as="h5" className= "woodenboardtable" >Manage Cows</Card.Header> <Card.Body style={// Stryker disable next-line all: don't test CSS params {backgroundColor: "rgb(245, 210, 140)"}}> {/* change $10 to info from fixture */} <Card.Title className="text-center"> 💵 Market Cow Price: ${commons?.cowPrice} </Card.Title> <Card.Title className="text-center"> 🐮 Number of Cows: {userCommons.numOfCows} </Card.Title> <Card.Title className="text-center"> 🥛 Current Milk Price: ${commons?.milkPrice} </Card.Title> {/* when the ID doesnt match, dont show the buy/sell button */} {isViewOnly ? ( <> <p data-testid="ManageCows-ViewOnly"> This page is for viewing only, cannot buy and sell cows. </p> </> ) : ( <> <Row> <Col className="text-center"> <Button variant="outline-success" onClick={() => { setMessage("buy"); openModal(); }} data-testid={"buy-cow-button"} > Buy cows </Button> </Col> <Col className="text-center"> <Button variant="outline-danger" onClick={() => { setMessage("sell"); openModal(); }} data-testid={"sell-cow-button"} > Sell cows </Button> </Col> </Row> <p> Note: Buying cows buys at the current cow price, but selling cows sells at the current cow price times the average health of cows as a percentage! </p> </> )} </Card.Body> </Card> ); }; export default ManageCows; |