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 | 19x 19x 19x 19x 19x 5x 5x 1x 1x 4x | import BasicLayout from "main/layouts/BasicLayout/BasicLayout";
import { useNavigate, useParams } from "react-router";
import React from "react";
import axios from "axios";
import { toast } from "react-toastify";
import ReviewForm from "main/components/MyReviews/ReviewForm";
import { useBackend } from "main/utils/useBackend";
export default function EditReviewPage() {
const { id } = useParams();
const navigate = useNavigate();
const { data: review } = useBackend(
[`/api/reviews/${id}`],
{
method: "GET",
url: `/api/reviews/${id}`,
},
{},
);
const itemName = review.item?.name;
const submitReview = async (formData) => {
try {
await axios.put("/api/reviews/reviewer", formData, {
params: {
id,
},
});
toast(`Review updated for ${itemName}`);
navigate(-1);
} catch (err) {
toast.error(
`Error updating review: ${err.response?.data?.error || err.message}`,
);
}
};
return (
<BasicLayout>
<div className="pt-2">
<h1>Edit review with id {id}</h1>
<ReviewForm
initialItemName={review.item?.name}
initialContents={review}
submitAction={submitReview}
buttonLabel="Update Review"
/>
</div>
</BasicLayout>
);
}
|