soroush.asadi
5e980cdfc0
feat: plan limits, café location, nearby API, Iran map section
...
CI/CD / CI · API (dotnet build + test) (push) Successful in 56s
CI/CD / CI · Admin API (dotnet build) (push) Successful in 49s
CI/CD / CI · Dashboard (tsc) (push) Successful in 1m4s
CI/CD / CI · Admin Web (tsc) (push) Successful in 34s
CI/CD / CI · Website (tsc) (push) Successful in 44s
CI/CD / CI · Koja (tsc) (push) Successful in 50s
CI/CD / Deploy · all services (push) Successful in 3m15s
• PlanLimits: add MaxMenuCategories (Free→3), MaxMenuItems (Free→30),
CanAccessCrm and CanAccessStatistics (Pro+ only)
• MenuController: enforce category/item limits before create (403 + PLAN_LIMIT_REACHED)
• Cafe entity + EF migration: Latitude/Longitude (double?, nullable)
• CafeSettingsController: PATCH accepts lat/lng with range validation
• PublicController: GET /api/public/map-markers (marketing SVG map feed)
and GET /api/public/nearby (Koja nearby-cafés with Haversine sort)
• Dashboard settings: location card with OSM iframe preview + Neshan link
• Website homepage: IranMapSection — stylised SVG silhouette with
SMIL-animated blinking dots at real café coordinates
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-01 15:09:09 +03:30
soroush.asadi
5ba09c2ef1
fix(website): move launch countdown to 1 Tir 1405 (June 22, 2026)
...
CI/CD / CI · API (dotnet build + test) (push) Successful in 40s
CI/CD / CI · Admin API (dotnet build) (push) Successful in 30s
CI/CD / CI · Dashboard (tsc) (push) Successful in 1m3s
CI/CD / CI · Admin Web (tsc) (push) Successful in 35s
CI/CD / CI · Website (tsc) (push) Successful in 43s
CI/CD / CI · Koja (tsc) (push) Successful in 48s
CI/CD / Deploy · all services (push) Failing after 1m27s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-01 07:59:22 +03:30
soroush.asadi
060f724f7c
fix(website): revert generateStaticParams params to non-Promise
...
generateStaticParams receives plain params (not Promise).
Only page/layout default exports get Promise params in Next.js 15+.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-28 22:56:50 +03:30
soroush.asadi
98a7efc719
fix(website): update all route/layout params to Promise for Next.js 16
...
Next.js 15+ requires params to be typed as Promise<{...}> and awaited.
Fixed 17 files: all [locale] pages, layouts, and blog [slug] page.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-28 22:46:09 +03:30
soroush.asadi
1559ee95c7
fix(website): update route params type for Next.js 16
...
Next.js 15+ changed dynamic route params to Promise<...>.
Update GET and POST type signatures in blog comments route.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-28 22:20:14 +03:30
soroush.asadi
d62bb8d3ad
feat(website): Next.js 16 marketing website with RTL/Farsi
...
Marketing website for Meezi platform:
- Server-side rendered pages: home, demo, blog, pricing
- RTL/Farsi layout with Vazirmatn font
- SEO metadata and Open Graph tags
- proxy.ts for Next.js 16 middleware convention
- MEEZI_API_URL internal Docker network routing
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-05-27 21:34:32 +03:30