Files
meezi/web/dashboard
soroush.asadi f985deb233 fix(offline): stop the sync queue badge getting stuck above zero
Two bugs made "N در صف" persist even when online:
- The badge counted poisoned ops (failed after 5 retries, never removed), so it
  never returned to 0. Now the badge counts only retryable (active) ops; poisoned
  ops are tracked separately as failedCount and surfaced as a red "N failed —
  clear" chip the user can tap to discard them.
- The manual-retry click drained the LEGACY order_queue, not the real outbox the
  app actually uses — so clicking did nothing for stuck items. It now drains the
  outbox (drainOutbox), invalidates queries on success, and recounts.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 11:28:47 +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