Connect the existing doctor-page review UI to the rebuilt backend contract
(see clinicpro feat/rating-multidimensional).
- page.js fetches the rating aggregate alongside comments and passes
rateAggregate down to the chart (point / satisfaction / 5 dimensions).
- Submit form sends the five dimensions with doctor_uuid; comment/reply
send {doctor_uuid, comment, parent}; 401/403 ERR_RATING_NOT_ELIGIBLE
surface friendly guidance.
- Like/dislike call POST /like/{uuid} with value and update from the
response; replies render nested.
- ModalAnswer gates the submit button on GET /rate/{uuid}/eligibility.
- services/response.js: getRateEligibility, postCommentsLike(uuid, value),
drop unused patchDoctorRate. Fix hardcoded modal title; empty-state for
no comments. Remove orphaned AnswerField.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
23 lines
577 B
JavaScript
23 lines
577 B
JavaScript
"use client";
|
|
import ItemUser from "./ItemUser";
|
|
|
|
function Comment({ comments, doctor }) {
|
|
if (!comments?.length) {
|
|
return (
|
|
<p className="text-[#7E7E7E] text-[14px] font-normal mt-4">
|
|
هنوز نظری برای این پزشک ثبت نشده است.
|
|
</p>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<ul className="flex flex-col comment-list !pl-2.5 justify-start max-h-[492px] overflow-auto items-start gap-12 mt-2">
|
|
{comments.map((item) => (
|
|
<ItemUser key={item.uuid} data={item} doctor={doctor} />
|
|
))}
|
|
</ul>
|
|
);
|
|
}
|
|
|
|
export default Comment;
|