13 Commits
Author SHA1 Message Date
Alireza HassaniandCursor e2468a1ba1 Wire live business contact data and refresh homepage/about branding.
Pull landline, cell, and address from Meshkee business-info across footer and contact surfaces, update brand spelling and 14-year messaging, and keep product cards free of placeholder call-to-action pricing.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 00:08:45 +03:30
Alireza HassaniandCursor 3ffa43641d Improve mobile UX, fix category tile links, and wire contact form to Meshkee.
Add a mobile hamburger menu, responsive hero/category grids, category-tree breadcrumbs, resolved dashboard linkUrls, and POST contact-submissions via /api/contact.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-29 08:46:20 +03:30
Alireza HassaniandCursor 69e6261949 Fix product gallery to include all Meshkee images and show catalog downloads.
Parse gallery entries as URL objects from the API and surface attached catalog files on the product detail page when present.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-27 14:45:19 +03:30
Alireza HassaniandCursor c78abfa1de Polish product pages with subcategory filters, gallery, and denser grids.
Move category showcase to product routes, add clickable subcategory chips on category pages, and tighten banner/card spacing for mobile-to-desktop layouts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-27 14:09:15 +03:30
Alireza HassaniandCursor 8aeba175db Refresh homepage hero, category carousels, and product UI.
Add livestock/poultry/additive carousels, hero category icon slot, and product card polish while restoring the vineyard hero background.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-27 13:51:43 +03:30
websites-deploy cd29448c4c Use Next.js standalone output for lean production runtime.
Deploy can drop full node_modules and run .next/standalone/server.js (~100MB RSS).
2026-09-08 06:53:53 +00:00
Alireza HassaniandCursor fc4fea89f1 Fix production 500 caused by conflicting dynamic product/blog routes.
Remove legacy [slug] pages that clashed with [id]/[slug] and handle old URLs via middleware redirects instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 23:49:10 +03:30
Alireza HassaniandCursor b2a0fe73bc Add Meshkee SEO, customer auth menu, and footer polish.
Implement canonical product/category/blog URLs, sitemap-config endpoint, page metadata, customer login dropdown with admin handoff, safeteb-style footer bar, backend favicon, and remove the standalone partners strip.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 23:43:40 +03:30
alireza-hassaniandCursor 7a0de3c1f4 Publish Meshkee static-image slot catalog so dashboard Refresh can import keys.
The storefront already consumed slots, but GET /meshkee/static-image-slots was missing, so Meshkee never registered slider, categories, four-icon-image, about-us, or brands for this domain.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-30 09:58:06 +03:30
alireza-hassaniandClaude Sonnet 5 26b8b64bf3 Redesign category showcase and convert products section to carousel
- Replace icon-based category tiles with curated photo cards (brown
  bottom overlay, single-row layout, taller aspect ratio, tighter gaps,
  no card frame, light brown section background) via new
  CategoryShowcase component and categoryIcons fallback images.
- Add ScrollReveal component for page-enter animations, used across
  the category showcase and other sections.
- Turn the homepage "New Products" grid into a horizontal snap-scroll
  carousel with prev/next controls (ProductsCarousel).
- Extend Pagination and the products page to preserve categoryId
  filters, and widen aspectRatioToCss to accept undefined.
- Document the static-image-slots system and API client conventions
  in CLAUDE.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-30 09:10:31 +03:30
alireza-hassani d486b2dd65 Self-host hero slider images instead of hotlinking to Unsplash
Production server has no path to fetch images.unsplash.com at
request time, so the slider was rendering without backgrounds
after deploy. Downloaded and cropped the same 3 photos locally
into public/images/ (landscape, ~1920px, ~450-730KB each) and
point the slider at them; dropped the now-unused Unsplash
remotePattern from next.config.ts.
2026-08-10 16:07:23 +03:30
alireza-hassani 3f479af8be Connect products and blog to Meshkee backend API
- Add src/lib/meshkee.ts API client for the live backend
  (https://api.meshkee.com, tenant aradarisman.com)
- Products list/detail pages now fetch real catalog data,
  images, categories and pricing instead of static mock data
- Blog list/detail pages fetch from /tenants/{domain}/blogs
  with a graceful empty state since no posts are published yet
- Allow the Meshkee media CDN host in next.config.ts
- Remove now-unused static src/data/products.ts and posts.ts
2026-08-10 01:08:17 +03:30
alireza-hassani e34fbe6e72 Initial commit: Arad Arisman corporate website
Next.js site for Arad Arisman (livestock/poultry feed supplements) with:
- Homepage with full-screen image slider, product/category showcases, stats
- About, Contact pages
- Products catalog with pagination and detail pages
- Blog with pagination and detail pages
- RTL Persian layout with Vazirmatn font
2026-08-09 21:05:26 +03:30