Connect the storefront to Meshkee catalog, blogs, and static image slots.

Wire homepage specials, product/blog pages, instant search, and the customer portal so the live pharmacy site can be managed from the dashboard.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-08-19 23:51:41 +03:30
co-authored by Cursor
parent cd2f9dfc9d
commit 66e604c426
39 changed files with 1900 additions and 188 deletions
+14 -3
View File
@@ -1,6 +1,11 @@
import type { Metadata } from "next";
import { Vazirmatn } from "next/font/google";
import "./globals.css";
import { TopBar } from "@/components/layout/TopBar";
import { Header } from "@/components/layout/Header";
import { Footer } from "@/components/layout/Footer";
import { getNavCategories } from "@/lib/categories";
import { getLogoSrc } from "@/lib/media";
const vazir = Vazirmatn({
subsets: ["arabic", "latin"],
@@ -15,7 +20,9 @@ export const metadata: Metadata = {
"خرید آنلاین دارو، مکمل، محصولات بهداشتی و آرایشی از داروخانه دکتر ارجمند در قم، سالاریه.",
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
export default async function RootLayout({ children }: { children: React.ReactNode }) {
const [logoSrc, categories] = await Promise.all([Promise.resolve(getLogoSrc()), getNavCategories()]);
return (
<html lang="fa" dir="rtl" className={vazir.variable}>
<head>
@@ -26,8 +33,12 @@ export default function RootLayout({ children }: { children: React.ReactNode })
rel="stylesheet"
/>
</head>
<body className={`${vazir.className} min-h-screen antialiased`}>{children}</body>
<body className={`${vazir.className} min-h-screen antialiased`}>
<TopBar />
<Header logoSrc={logoSrc} categories={categories} />
<main className="pb-12">{children}</main>
<Footer logoSrc={logoSrc} />
</body>
</html>
);
}