From ebfe47468ccc28aab6fa459200c2cd8ddccc59c1 Mon Sep 17 00:00:00 2001
From: Ehsan
Date: Wed, 3 Sep 2025 22:05:26 +0330
Subject: [PATCH] get data with filter location for first time, get comment of
doctor and show in doctor page, handle new comment
---
app/component/ItemDoctor.js | 6 +-
app/component/ProgressChange.js | 11 +-
app/component/comment/ItemUser.js | 43 +++++---
app/component/comment/index.js | 8 +-
app/doctor/[slug]/page.js | 9 +-
app/doctors/page.js | 9 +-
.../detailDoctor/cards/comments/index.js | 4 +-
.../cards/comments/modal/ModalAnswer.js | 103 +++++++++++++++---
components/doctor/detailDoctor/index.js | 4 +-
components/doctor/index.js | 7 +-
components/doctors/index.js | 2 -
components/doctors/listDoctors/index.js | 2 +-
data/progress_detail.json | 27 +++++
services/response.js | 2 +
14 files changed, 187 insertions(+), 50 deletions(-)
create mode 100644 data/progress_detail.json
diff --git a/app/component/ItemDoctor.js b/app/component/ItemDoctor.js
index 6b6879a..c9df883 100644
--- a/app/component/ItemDoctor.js
+++ b/app/component/ItemDoctor.js
@@ -33,7 +33,11 @@ function ItemDoctor({ doctor }) {
- تخصص: {doctor?.expertise}
+ تخصص:
+ {doctor?.specialties?.map(
+ (item, idx) =>
+ `${item.name} ${doctor.specialties.length === idx + 1 ? "" : "|"} `
+ )}
diff --git a/app/component/ProgressChange.js b/app/component/ProgressChange.js
index 74b32c1..a83e3fe 100644
--- a/app/component/ProgressChange.js
+++ b/app/component/ProgressChange.js
@@ -1,7 +1,7 @@
import { Slider } from "@mui/material";
import { useState } from "react";
-function ProgressChange({ data }) {
+function ProgressChange({ data, changeData, parent }) {
const [value, setValue] = useState(70);
return (
@@ -10,9 +10,12 @@ function ProgressChange({ data }) {
{data.label}
setValue(e.target.value)}
+ onChange={(e) => {
+ setValue(e.target.value);
+ changeData(parent, data.name, e.target.value);
+ }}
sx={{
"& .MuiSlider-rail": {
background: "#E8E8E8",
@@ -32,7 +35,7 @@ function ProgressChange({ data }) {
},
}}
/>
-
+
{value}
diff --git a/app/component/comment/ItemUser.js b/app/component/comment/ItemUser.js
index fb5785b..31a6183 100644
--- a/app/component/comment/ItemUser.js
+++ b/app/component/comment/ItemUser.js
@@ -13,10 +13,13 @@ function ItemUser({ update, setUpdate, isReply, list, setList, data }) {
const handleLike = (lengthLike, data, nameLike, nameIsLike) => {
if (nameIsLike === "is_like" && data.is_dislike) {
data.is_dislike = false;
- data.dislike--;
- } else if (nameIsLike === "is_dislike" && data.is_like) {
- data.is_like = false;
- data.like--;
+ data.like_status.dislike_count--;
+ } else if (
+ nameIsLike === "is_dislike" &&
+ data.like_status.current_user_like.like
+ ) {
+ data.like_status.current_user_like.like = false;
+ data.like_status.like_count--;
}
data[nameLike] = lengthLike;
data[nameIsLike] = !data[nameIsLike];
@@ -28,14 +31,14 @@ function ItemUser({ update, setUpdate, isReply, list, setList, data }) {
- {data.name}
+ {data.author.real_name}
3 روز پیش
@@ -52,17 +55,23 @@ function ItemUser({ update, setUpdate, isReply, list, setList, data }) {
className="cursor-pointer"
onClick={() =>
handleLike(
- data.is_like ? data.like - 1 : data.like + 1,
+ data.like_status.current_user_like.like
+ ? data.like_status.like_count - 1
+ : data.like_status.like_count + 1,
data,
"like",
"is_like"
)
}
>
- {data.is_like ? : }
+ {data.like_status.current_user_like.like ? (
+
+ ) : (
+
+ )}
- {data.like}
+ {data.like_status.like_count || ""}
@@ -70,7 +79,9 @@ function ItemUser({ update, setUpdate, isReply, list, setList, data }) {
className="cursor-pointer"
onClick={() =>
handleLike(
- data.is_dislike ? data.dislike - 1 : data.dislike + 1,
+ data.is_dislike
+ ? data.like_status.dislike_count - 1
+ : data.like_status.dislike_count + 1,
data,
"dislike",
"is_dislike"
@@ -80,7 +91,7 @@ function ItemUser({ update, setUpdate, isReply, list, setList, data }) {
{data.is_dislike ? : }
- {data.dislike}
+ {data.like_status.dislike_count || ""}