All files / pages AdminAnnouncementsPage.jsx

100% Statements 51/51
100% Branches 3/3
100% Functions 1/1
100% Lines 51/51

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 691x 1x 1x 1x 1x 1x 1x 1x   1x 7x 7x   7x 7x 7x 7x 7x 7x 7x 7x 7x 7x     7x 7x 7x 7x 7x 7x 7x 7x 7x 7x   7x   7x 7x   7x 7x 7x 7x 7x 7x 7x 7x 7x 7x         7x 7x 7x 7x 7x 7x             7x  
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],
    {
      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>
        <Row className="pt-3">
          <Col>
            <AnnouncementTable
              announcements={announcements}
              currentUser={currentUser}
              commonsId={commonsId}
            />
          </Col>
        </Row>
      </div>
    </BasicLayout>
  );
}