Files
brb-store/CONTEXT.md
T
Alireza HassaniandCursor 8e14748b48 Wire Meshkee catalog: products, blog, mega menu, and product search.
Catalog-only (no cart); search targets store items and products pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 16:04:31 +03:30

4.6 KiB
Raw Blame History

BRB Store — AI context

Persian RTL storefront for brb-store.com (فروشگاه و تعمیرگاه لوازم خانگی برادران برقعی، قم). Next.js App Router rebuild of the original WillaMall/BeTheme site. Keep this file current — other AI tools read it first.

Stack

  • Next.js 16 (App Router, Turbopack) + React 19 + TypeScript + Tailwind v4
  • Locale: fa, direction: rtl
  • Fonts: Vazirmatn (Persian) + Montserrat (English kickers)
  • Icons: Lucide
  • Dev: npm run dev

Brand

Token Value
Brand red #e7432b
Brand dark #c93621
Ink #161616
Muted #6c6363
Paper #f4f0ec

Logo: public/images/brand/logo.png. Dark glossy caption bars: lib/glossy.ts.

Meshkee API

This site is catalog-only (no shopping cart). Login / user icon goes to the customer portal. Do not build a local login page.

Routes

Path Source
/ Homepage + static image slots + store specials + latest blogs
/products Store items (GET /tenants/{domain}/store-items)
/products?categoryId= Same, filtered
/products/[variantId] Store item variant + product description/gallery + comments
/blog GET /tenants/{domain}/blogs (falls back to lib/data.ts blogPosts)
/blog/[slug] Blog details + comments
/about About us
/contact Contact us
/meshkee/static-image-slots Slot catalog for the dashboard Refresh button
/api/search?q= Instant product search (store-items?name=, min 3 chars)

Homepage order

Hero → Services → three product carousels → CategoryShowcase → AboutPreview → five-banner (2+3) → BlogCarousel → two-banner-row → Stats → WideBanner → Branches.

Homepage carousels (store specials)

GET /tenants/{domain}/store-specials matched by key:

  1. consumeables — اقلام مصرفی
  2. refrigrator-parts — قطعات یخچال
  3. washing-machine-parts — قطعات ماشین لباسشویی

If a special has no items, keep sample products from lib/data.ts. Use variants[0].id as the product URL.

Catalog

  • Mega menu: product categories level 1 and 2 (GET /tenants/{domain}/categories?entityType=product). Links: /products?categoryId={id}.
  • Instant search: header input searches products when query length > 2 (/api/search → store-items?name=). Enter or “مشاهده همه” → /products?q=.
  • Product pages are display-only (price, gallery, description, comments). No cart / add-to-cart.
  • Details gallery: product images[].url + thumbnail. Click = lightbox, hover = zoom.
  • Details tabs: description (descriptionHtml) and comments (GET /comments?entityType=product&entityId={productId}). Unauthenticated users see a login box to the customer portal.

Static image slots

GET /tenants/{domain}/website/static-images?pageKey=home. Catalog: GET /meshkee/static-image-slots from STATIC_IMAGE_SLOTS in lib/static-images.ts.

key kind itemCount
slider list null
three-icon-image list 3
categories list null
about-us-image single 1
five-banner-section list 5
two-banner-row list 2
full-row-image single 1
two-branch-image list 2

url → img, linkUrl → wrap in a link, empty/fail → placeholder. Use slot.aspectRatio. If a slot’s size/ratio changes in CSS, update STATIC_IMAGE_SLOTS in the same change.

Original business data (do not invent replacements)

About: 30+ years. Sells home appliances, spare parts, and repairs small appliances. Wholesale and retail.

Branches

  1. قم، خیابان سی متری کیوانفر، روبروی داروخانه الهادی
  2. قم، بلوار صدوقی، خیابان امام حسین (ع)، نبش کوچه ۲۱

Phones: 0912-309-3407، 0912-651-7619، 025-36604454، 025-32404070، تلفکس 0253-6638866
Telegram: https://t.me/borgheeibrothers
Email: alirezaborghei20@gmail.com
Map: 34.6564, 50.8696

Local fallbacks

  • Copy / nav / sample products / local blog: lib/data.ts
  • Empty catalog art: /public/placeholders/*.svg
  • Downloaded originals: public/images/