Files
meezi/web/dashboard
soroush.asadi 59486cdf24
CI/CD / CI · API (dotnet build + test) (push) Failing after 3m20s
CI/CD / CI · Admin API (dotnet build) (push) Failing after 3m19s
CI/CD / CI · Dashboard (tsc) (push) Successful in 1m5s
CI/CD / CI · Admin Web (tsc) (push) Successful in 41s
CI/CD / CI · Website (tsc) (push) Successful in 44s
CI/CD / CI · Koja (tsc) (push) Successful in 52s
CI/CD / Deploy · all services (push) Has been cancelled
fix(pos2): wait for branch before fetching menu + add left category sidebar
Race fix: orderBranchId now returns `undefined` (not null) while the /branches
query is in flight. usePos2Menu treats undefined as "not yet determined" and
skips the fetch, preventing getBranchMenu(cafeId, null) → empty array.
Once branchesFetched=true, orderBranchId resolves to the correct branchId
(or null for café-wide fallback).

Layout: desktop order screen now shows a left vertical category sidebar
(116 px, md+) instead of horizontal chips, giving the classic POS sidebar
feel. Horizontal chips kept for mobile (<md). Menu grid columns adjusted.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 07:10:03 +03:30
..

Meezi Dashboard

Next.js 14 POS dashboard for Meezi (میزی).

Setup

cd web/dashboard
npm install
cp .env.example .env.local
npm run dev

Open http://localhost:3000/fa/login

Ensure the API is running at NEXT_PUBLIC_API_URL (default https://localhost:7208).

Demo login

  • Phone: 09121234567
  • OTP: check API console log (DEV OTP for ...) when Kavenegar is not configured

Features (Sprint 4)

  • i18n: fa (default, RTL), ar (RTL), en (LTR)
  • Dashboard layout with RTL-aware sidebar
  • POS screen: menu grid + cart + order submit
  • KDS screen: live orders + SignalR + status advance
  • Placeholder pages for upcoming modules