# Admin · Geography — UI Parity

Demo: `portals/admin/Geography.tsx` · Ours: `backend/views/{city,district,government}/*`

## Demo screen (single page)
- `PageHeader` title **"Geography"**, subtitle "Cities & districts where Navagoo operates" (line 21).
- **Responsive card grid** `grid-cols-1 md:grid-cols-2 xl:grid-cols-3` (line 22).
- **City card** (`Card p-5`, lines 27-58):
  - MapPin icon in a `bg-brand-600/10` rounded tile (lines 30-32).
  - City name (bold) + muted meta line `"{n} shops · {m} districts"` (lines 34-37).
  - **Toggle** (top-right, size sm) bound to `active`; on change toggles + toasts (lines 39-46).
  - District **Badge** chips, slate tone, wrapped (lines 48-54).
- **States**: no empty state (seed always non-empty); no loading/error (local state); no search, no pagination, no create/edit/delete. RTL inherited globally from the demo shell (no area-specific RTL handling here).

## Our screens
Three separate list+form CRUD areas, all Tailwind "aurora" reskinned (`layout = 'tailwind'`):

### City (`backend/views/city/index.php`)
- PageHeader "Cities List" + "Manage cities", a **Create City** button (lines 35-42).
- GET name filter with reset (lines 46-64).
- **Plain table**: serial #, Name (link), Actions (edit/view) — lines 71-104. Real `LinkPager` + summary footer (lines 113-124).
- Empty state present: "No results found." (line 79).
- `view.php` / `create.php` / `update.php` / `_form.php` exist for full CRUD.

### District (`backend/views/district/index.php`)
- PageHeader "Districts List", Create button, GET filter by **name + city** dropdown (lines 53-72). Same table/pager pattern.

### Government (`backend/views/government/*`)
- Full CRUD + customer tabular form; **a tier the demo has no UI for**.

## Concrete UI gaps (demo → ours)
1. **No card-grid geography overview.** Ours is three independent tabular CRUD screens; the demo is one consolidated card dashboard. Missing entirely.
2. **No active/disable Toggle** on cities (or districts). No control, no column, no badge. Missing.
3. **No "{n} shops" per-city count** anywhere in the city UI. Missing.
4. **No "{m} districts" count / district chip preview** on the city row/card. Missing.
5. **No MapPin iconography / card styling** — ours is a flat table. Cosmetic gap.
6. **No toast on toggle** (no toggle exists). Missing.

## Things ours has that the demo lacks (not gaps, note for scope)
- Full create/update/delete forms for City and District.
- Name (+ city) search filters, pagination, summary.
- A whole **Government/region** management area.
- Normalized districts with slug/meta_description/direction/region SEO fields.
