amirhosein.ashourlooandClaude Sonnet 5 4ffdf03727 Rewrite cart as client-only guest cart per AI_PROMPT.md spec
Replaces the previous server-cart implementation (which wrongly called
the customer-dashboard-only /businesses/{id}/cart* API) with the
documented guest-cart architecture:

- src/lib/guestCart.ts: storage key/cookie name, cookie attributes,
  line shape, and encodeGuestCart() copied verbatim from AI_PROMPT.md
- CartProvider/CartButton: pure client state (localStorage + mirrored
  cookie), no bearer auth, no businessId
- CartButton's "ادامه" builds the exact documented Continue URL,
  branching on hasCustomerSessionCookie() to either
  customer.<domain>/checkout/cart?guestCart=<encoded> or
  .../login?redirect=<encoded checkout path>
- Auth cookie corrected to the real documented name
  (meshkee_customer_access_token, possibly chunked) via a shared
  reassembleChunkedCookie() helper used by both auth.ts (server) and
  authUser.ts (client)
- ProductBuyPanel/product pages switched to the documented
  GET .../store-items/by-product/{id} endpoint (getStoreItemByProduct)
- isInStock() treats stockQuantity === null as unlimited stock, not
  out-of-stock, per spec
- AGENTS.md updated to describe this architecture and remove the
  incorrect server-cart documentation

Manually verified in-browser: badge count, popup lines/qty/remove/
total all update correctly against injected guest-cart data; tsc,
eslint, and next build all pass clean.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-06 13:29:30 +03:30
2026-09-02 17:03:23 +03:30
2026-09-02 17:11:12 +03:30
2026-09-04 14:02:15 +03:30
2026-09-02 17:03:23 +03:30
2026-09-02 17:03:23 +03:30
2026-09-02 17:03:23 +03:30
2026-09-02 17:03:23 +03:30
2026-09-02 17:03:23 +03:30
2026-09-02 17:03:23 +03:30
2026-09-02 17:03:23 +03:30
2026-09-02 17:03:23 +03:30

moalem.shop

فروشگاه اینترنتی موبایل معلم — Next.js storefront on the Meshkee CMS API.

npm install
npm run dev

Environment (.env.local):

NEXT_PUBLIC_SITE_DOMAIN=moalem.shop
NEXT_PUBLIC_DEMO_PRICING=1   # temporary: the tenant has no store-items yet

Architecture, data gaps and the fallbacks currently in place are documented in AGENTS.md.

S
Description
No description provided
Readme
76 MiB
Languages
TypeScript 97.6%
CSS 1.2%
JavaScript 1.2%