All files / components/Commons CommonsOverview.jsx

100% Statements 41/41
100% Branches 3/3
100% Functions 2/2
100% Lines 41/41

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 611x 1x 1x 1x 1x 1x   1x 83x 83x 83x 83x 83x   83x 83x 1x 1x 83x   83x 83x   83x 83x 83x     83x 83x 83x 83x     83x   83x 83x 83x 83x 83x   83x   83x 83x 83x 83x 83x 83x 83x                 83x  
import React from "react";
import { Row, Card, Col, Button } from "react-bootstrap";
import { useNavigate } from "react-router";
import { hasRole } from "main/utils/currentUser";
import { daysSinceTimestamp } from "main/utils/dateUtils";
import CurrentAnnouncements from "main/components/Announcement/CurrentAnnouncements";
 
export default function CommonsOverview({
  commonsPlus,
  currentUser,
  currentAnnouncements,
}) {
  let navigate = useNavigate();
 
  // Stryker disable all
  const dashboardButtonClick = () => {
    navigate("/dashboard/" + commonsPlus.commons.id);
  };
  // Stryker restore all
 
  const showDashboard =
    hasRole(currentUser, "ROLE_ADMIN") || commonsPlus.commons.showLeaderboard;
 
  return (
    <Card data-testid="CommonsOverview">
      <Card.Header as="h5" className="woodenboardtable">
        Announcements
      </Card.Header>
      <Card.Body
        style={
          // Stryker disable next-line all: don't test CSS params
          { backgroundColor: "rgb(245, 210, 140)" }
        }
      >
        <CurrentAnnouncements announcements={currentAnnouncements} />
 
        <Row>
          <Col>
            <Card.Title>
              Today is day{" "}
              {daysSinceTimestamp(commonsPlus.commons.startingDate)}!
            </Card.Title>
            <Card.Text>Total Players: {commonsPlus.totalUsers}</Card.Text>
          </Col>
          <Col>
            {showDashboard && (
              <Button
                variant="outline-success"
                data-testid="user-leaderboard-button"
                onClick={dashboardButtonClick}
              >
                Dashboard
              </Button>
            )}
          </Col>
        </Row>
      </Card.Body>
    </Card>
  );
}