All files / src/components/Drinks DrinkDisplay.jsx

100% Statements 3/3
93.75% Branches 15/16
100% Functions 1/1
100% Lines 3/3

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        4x               4x 4x                                              
import React from "react";
import "./DrinkDisplay.css";
 
export default function DrinkDisplay({ color, fillPercentage, cupSize, cupPosition, mini }) {
    const cupImages = {
        small: "/images/drink_sizes/cup-small.png",
        medium: "/images/drink_sizes/cup-medium.png",
        large: "/images/drink_sizes/cup-large.png",
        S: "/images/drink_sizes/cup-small.png",
        M: "/images/drink_sizes/cup-medium.png",
        L: "/images/drink_sizes/cup-large.png",
    };
    const maxFillHeight = cupSize === "small" ? 5.9 : cupSize === "medium" ? 6.72 : 7.8125;
    return (
        <div
            className={`CupContainer ${cupSize} ${mini ? "mini" : ""}`}
            style={{
                transform: `translateX(${cupPosition}px)`,
                transition: 'transform 0.4s ease-in-out',
            }}
        >
            <div
                className={"FillOverlay " + cupSize + "" + (mini ? "mini" : "")}
                style={{
                    height: `${Math.min((fillPercentage / 100) * maxFillHeight, maxFillHeight)}rem`,
                    width: "4.7rem",
                    backgroundColor: color ? (typeof color === "string" && color.startsWith("#") ? color : `#${color}`) : "#FFFFFF",
                    maxHeight: `${maxFillHeight}rem`
                }}
 
            ></div>
 
            <img src={cupImages[cupSize]} alt="Cup" className={"CupImages " + cupSize + "" + (mini ? "mini" : "")} />
        </div>
    );
}