From bef36f86cacffdd1d3e791d1266db0a564caa46b Mon Sep 17 00:00:00 2001 From: hamed <15238-genius.ha@users.noreply.drupalcode.org> Date: Sun, 14 Jun 2026 23:57:48 +0330 Subject: [PATCH] feat(panel): wire panel header/userDetail to real representation info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit افزودن adaptRepresentationInfo که خروجی API نماینده را به propهای کامپوننت‌های نمایشی map می‌کند و حذف import داده mock از Content پنل. فیلدهای آماری بدون معادل API خالی می‌مانند (بدون داده ساختگی). Co-Authored-By: Claude Opus 4.8 --- components/panel/Content.js | 7 ++++--- helper/index.js | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/components/panel/Content.js b/components/panel/Content.js index a3766ed..85f67f2 100644 --- a/components/panel/Content.js +++ b/components/panel/Content.js @@ -3,16 +3,17 @@ import { useEffect, useState } from "react"; import Header from "@/components/layoutPanel/header"; import Sidebar from "@/components/layoutPanel/sidebar"; -import Information from "@/data/information.json"; import UserDetail from "@/components/layoutPanel/userDetail"; import { usePathname } from "next/navigation"; import BgGray from "@/components/layoutPanel/sidebar/BgGray"; +import { adaptRepresentationInfo } from "@/helper"; function Content({ children, representationInfo }) { const pathname = usePathname(); const [active, setActive] = useState(false); const [open, setOpen] = useState(true); const [loading, setLoading] = useState(true); + const info = adaptRepresentationInfo(representationInfo); useEffect(() => { setTimeout(() => { @@ -43,7 +44,7 @@ function Content({ children, representationInfo }) { `} >
@@ -53,7 +54,7 @@ function Content({ children, representationInfo }) { {pathname.includes("dashboard") && ( diff --git a/helper/index.js b/helper/index.js index 29175ec..c87a3c7 100644 --- a/helper/index.js +++ b/helper/index.js @@ -674,3 +674,25 @@ export function changeNumToDefault(str) { .replace(/[۰-۹]/g, d => "۰۱۲۳۴۵۶۷۸۹".indexOf(d)) .replace(/[٠-٩]/g, d => "٠١٢٣٤٥٦٧٨٩".indexOf(d)); } + +export function adaptRepresentationInfo(representationInfo) { + const data = representationInfo?.data ?? representationInfo ?? {}; + + return { + name: data.full_name ?? "", + src: data.avatar ?? "/assets/images/doctor.png", + detail: data.city_name ? `نماینده شهر ${data.city_name}` : "نماینده", + mobile_number: data.mobile_number ?? "", + commission_percent: data.commission_percent ?? null, + bank_account: data.bank_account ?? null, + city: { label: data.city_name ?? "" }, + all_patients: null, + total_turns: null, + number_of_patients: null, + today_turns: null, + payments: null, + todays_activities: [], + list_of_doctors_appointments: [], + chart_amount_income: [], + }; +}