All files / pages AdminAnnouncementsPage.jsx

100% Statements 49/49
100% Branches 4/4
100% Functions 1/1
100% Lines 49/49

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 651x 1x 1x 1x 1x 1x 1x 1x   1x 11x 11x   11x 11x 11x 11x 11x 11x 11x 11x 11x 11x     11x 11x 11x 11x 11x 11x 11x 11x 11x 11x   11x   11x 11x   11x 11x 11x 11x 11x 11x 11x 11x 11x 11x         11x 11x 11x 11x         11x  
import React from "react";
import Button from "react-bootstrap/Button";
import BasicLayout from "main/layouts/BasicLayout/BasicLayout";
import { Row, Col } from "react-bootstrap";
import { useParams } from "react-router";
import { useBackend } from "main/utils/useBackend";
import { useCurrentUser } from "main/utils/currentUser";
import AnnouncementTable from "main/components/Announcement/AnnouncementTable";
 
export default function AdminAnnouncementsPage() {
  const { commonsId } = useParams();
  const { data: currentUser } = useCurrentUser();
 
  // Stryker disable all
  const { data: commonsPlus } = useBackend(
    [`/api/commons/plus?id=${commonsId}`],
    {
      method: "GET",
      url: "/api/commons/plus",
      params: {
        id: commonsId,
      },
    },
  );
 
  const { data: announcementsPage } = useBackend(
    [`/api/announcements/getbycommonsid?commonsId=${commonsId}`],
    {
      method: "GET",
      url: "/api/announcements/getbycommonsid",
      params: {
        commonsId,
      },
    },
    { content: [] },
  );
  // Stryker restore all
 
  const commonsName = commonsPlus?.commons.name;
  const announcements = announcementsPage?.content || [];
 
  return (
    <BasicLayout>
      <div className="pt-2">
        <Row className="pt-5">
          <Col>
            <h2>Announcements for Commons: {commonsName}</h2>
            <Button
              variant="primary"
              href={`/admin/announcements/${commonsId}/create`}
            >
              Create Announcement
            </Button>
          </Col>
        </Row>
        <AnnouncementTable
          announcements={announcements}
          currentUser={currentUser}
          commonsId={commonsId}
        />
      </div>
    </BasicLayout>
  );
}