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 | 23x 23x 23x 13x 10x 10x 13x 10x | import React from "react";
import { useParams } from "react-router";
import BasicLayout from "main/layouts/BasicLayout/BasicLayout";
import ReviewTable from "main/components/Reviews/ReviewTable";
import { useBackend } from "main/utils/useBackend";
export default function ReviewsForMenuItemPage() {
const { id } = useParams();
const { data, isLoading, error } = useBackend(
// Stryker disable next-line all: don't test internal caching of React Query
["reviewsForMenuItem", id],
// Stryker disable next-line all: default method is get, so replacing with an empty string will do nothing
{ method: "GET", url: `/api/diningcommons/menuitem?id=${id}` },
);
if (isLoading) {
return (
<BasicLayout>
<p>Loading...</p>
</BasicLayout>
);
}
// Stryker disable next-line all : Don't mutate error block
Iif (error) {
return (
<BasicLayout>
<p>Error loading reviews.</p>
</BasicLayout>
);
}
const filteredReviews =
// Stryker disable next-line ArrayDeclaration : Don't mutate fallback array
(Array.isArray(data?.reviews) ? data.reviews : []).filter(
(review) =>
review.reviewerComments !== null &&
review.reviewerComments !== undefined,
);
return (
<BasicLayout>
<h1>Reviews for Menu Item {id}</h1>
<ReviewTable
data={filteredReviews}
userOptions={false}
moderatorOptions={false}
/>
</BasicLayout>
);
}
|