Initial commit: Negin Dental Clinic website

Next.js (App Router) clone of negindentalclinic.ir, wired to the
Meshkee Website API (blog, contact form, favicon), with on-page SEO
and a scroll-reveal animation sequence on the homepage.

See context.md for full project context.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-04 18:28:54 +03:30
co-authored by Claude Sonnet 5
commit f16b47966b
70 changed files with 4810 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
import PageHero from "@/components/PageHero";
import styles from "./virtual-tour.module.css";
export const metadata = {
title: "تور مجازی",
description:
"پیش از مراجعه حضوری، فضای داخلی کلینیک دندانپزشکی نگین در قم را با تور مجازی ۳۶۰ درجه مشاهده کنید و از امکانات و محیط درمانی کلینیک آگاه شوید.",
};
export default function VirtualTourPage() {
return (
<>
<PageHero
en="Virtual Tour"
fa="تور مجازی"
lead="سفر مجازی به کلینیک دندانپزشکی نگین."
/>
<section className="section">
<div className={`container ${styles.wrap}`}>
<div className={styles.frame}>
<iframe
title="تور مجازی کلینیک نگین"
src="https://www.negindentalclinic.ir/assets/virtualtour.html"
loading="lazy"
allowFullScreen
/>
</div>
<p className={styles.note}>
در صورتی که تور مجازی بارگذاری نشد، می‌توانید آن را{" "}
<a
href="https://www.negindentalclinic.ir/assets/virtualtour.html"
target="_blank"
rel="noopener noreferrer"
>
در یک صفحه جدید
</a>{" "}
مشاهده کنید.
</p>
</div>
</section>
</>
);
}
+35
View File
@@ -0,0 +1,35 @@
.wrap {
max-width: 960px;
margin: 0 auto;
}
.frame {
position: relative;
width: 100%;
aspect-ratio: 16 / 9;
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-md);
background: var(--bg-tint);
}
.frame iframe {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
border: 0;
}
.note {
margin-top: 20px;
text-align: center;
text-align-last: center;
color: var(--muted);
font-size: 14px;
}
.note a {
color: var(--brand);
font-weight: 700;
}