42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
import Image from "next/image";
|
|
import { imageUrl } from "@/helper";
|
|
|
|
function getInitials(name) {
|
|
if (!name) return "";
|
|
const cleanName = name.trim().replace(/^دکتر\s+/, "");
|
|
const parts = cleanName.split(/\s+/).filter(Boolean);
|
|
if (parts.length === 0) return "";
|
|
if (parts.length === 1) return parts[0][0];
|
|
return `${parts[0][0]} - ${parts[1][0]}`;
|
|
}
|
|
|
|
function DoctorAvatar({ doctor, size = 72, className = "", priority = false }) {
|
|
const url = doctor?.img?.[0]?.url;
|
|
|
|
if (!url) {
|
|
return (
|
|
<div
|
|
style={{ width: size, height: size }}
|
|
className={`flex items-center justify-center rounded-full bg-[#F8F8FF] text-[#3B3B3B] font-bold select-none ${className}`}
|
|
>
|
|
<span style={{ fontSize: size * 0.22 }} className="whitespace-nowrap">
|
|
{getInitials(doctor?.name)}
|
|
</span>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<Image
|
|
width={size}
|
|
height={size}
|
|
alt="image-doctor"
|
|
src={imageUrl(url)}
|
|
className={`object-contain rounded-full ${className}`}
|
|
priority={priority}
|
|
/>
|
|
);
|
|
}
|
|
|
|
export default DoctorAvatar;
|