feat(doctor): enhance doctor schema with addresses, ratings, and social media links

feat(robots): update disallow rules to include '/panel'
feat(sitemap): implement separate sitemaps for doctors, clinics, and blogs
feat(icons): add social media icons for doctor profiles
This commit is contained in:
hamed
2026-06-21 12:35:15 +03:30
parent 93b2710ae1
commit a8c3a57114
10 changed files with 540 additions and 97 deletions
+33
View File
@@ -5,6 +5,19 @@ import LikeDI from "@/components/icons/LikeDI";
import StarDI from "@/components/icons/StarDI";
import TickCircle from "@/components/icons/TickCircle";
import DoctorAvatar from "@/app/component/DoctorAvatar";
import Instagram from "@/components/icons/Instagram";
import Telegram from "@/components/icons/Telegram";
import Aparat from "@/components/icons/Aparat";
import Youtube from "@/components/icons/Youtube";
import Linkedin from "@/components/icons/Linkedin";
const SOCIAL_ICONS = {
instagram: Instagram,
telegram: Telegram,
aparat: Aparat,
youtube: Youtube,
linkedin: Linkedin,
};
function Title({ doctor }) {
return (
@@ -67,6 +80,26 @@ function Title({ doctor }) {
</div>
</div>
</CustomLoading>
{doctor?.social_media && Object.values(doctor.social_media).some(Boolean) && (
<div className="flex items-center gap-2">
{Object.entries(doctor.social_media).map(([key, url]) => {
if (!url) return null;
const Icon = SOCIAL_ICONS[key];
if (!Icon) return null;
return (
<a
key={key}
href={url}
target="_blank"
rel="noopener noreferrer"
className="flex items-center justify-center p-1.5 rounded-full bg-[#F8F8FF]"
>
<Icon />
</a>
);
})}
</div>
)}
</div>
</div>
);