feat: add feature toggles for doctor share and ratings functionality

This commit is contained in:
hamed
2026-07-30 09:05:45 +03:30
parent eb83762016
commit e87a0bae9b
6 changed files with 37 additions and 9 deletions
+2 -1
View File
@@ -11,6 +11,7 @@ import Telegram from "@/components/icons/Telegram";
import Aparat from "@/components/icons/Aparat";
import Youtube from "@/components/icons/Youtube";
import Linkedin from "@/components/icons/Linkedin";
import { FEATURES } from "@/config/features";
const SOCIAL_ICONS = {
instagram: Instagram,
@@ -22,7 +23,7 @@ const SOCIAL_ICONS = {
function Title({ doctor }) {
const isUnclaimed = doctor?.owner_status !== "claimed";
const hasRating = Number(doctor?.point) > 0;
const hasRating = FEATURES.doctorRatings && Number(doctor?.point) > 0;
return (
<div className="flex flex-col lg:flex-row items-center justify-start gap-[8px] lg:gap-[32px]">
<CircularLoading width={100} height={100}>
@@ -3,6 +3,7 @@
import Chart from "./chart";
import Comment from "@/app/component/comment";
import ModalAnswer from "./modal/ModalAnswer";
import { FEATURES } from "@/config/features";
function Comments({ doctor, comments, rateAggregate }) {
const isUnclaimed = doctor?.owner_status !== "claimed";
@@ -30,7 +31,10 @@ function Comments({ doctor, comments, rateAggregate }) {
</p>
) : (
<>
<Chart comments={comments} rateAggregate={rateAggregate} />
{/* نمودار امتیاز/رضایت فعلاً پنهان است؛ خودِ نظرات نمایش داده می‌شود. */}
{FEATURES.doctorRatings && (
<Chart comments={comments} rateAggregate={rateAggregate} />
)}
<Comment comments={comments} doctor={doctor} />
</>
)}
+6 -3
View File
@@ -4,13 +4,16 @@ import Title from "./Title";
import AboutDcotor from "./cards/AboutDcotor";
import Comments from "./cards/comments";
import Locations from "./cards/locations";
import { FEATURES } from "@/config/features";
function DetailDoctor({ doctor, comments, rateAggregate, addresses, bookableAddressUuids = [] }) {
return (
<div className="w-full lg:w-[59%]">
<div className="hidden lg:flex">
<Share data={doctor} />
</div>
{FEATURES.doctorShare && (
<div className="hidden lg:flex">
<Share data={doctor} />
</div>
)}
<Title doctor={doctor} />
<Link />
<AboutDcotor doctor={doctor} />
+6 -3
View File
@@ -7,6 +7,7 @@ import CustomLoading from "@/app/component/loading/Custom";
import Faq from "@/components/specialties/detail/Faq";
import specialtiesData from "@/data/specialties.json";
import { doctorTitle } from "@/helper";
import { FEATURES } from "@/config/features";
// مقصد تمیز صفحهٔ فرود تخصص؛ اگر تخصص slug نداشت، لیست پزشکان با کوئری قدیمی.
const specialtyHref = (name) => {
@@ -35,9 +36,11 @@ function DoctorPage({ doctor, comments, rateAggregate, addresses, bookableAddres
<p className="text-[#525252] text-nowrap mr-1">{doctorTitle(doctor?.name)}</p>
</div>
</CustomLoading>
<div className="flex lg:hidden">
<Share data={doctor} />
</div>
{FEATURES.doctorShare && (
<div className="flex lg:hidden">
<Share data={doctor} />
</div>
)}
</div>
<div className="flex items-start justify-center gap-6 mt-[30px]">
<DetailDoctor