Files
car_mms/MOBILE_MENU_VERIFICATION.md
2026-03-08 14:27:16 +03:00

4.9 KiB

Mobile Menu Verification Checklist

All Pages Use Same Layout

All the following pages use the same DashboardLayout component, so the mobile menu works identically on all of them:

  • /dashboard - Dashboard page
  • /customers - Customers management
  • /vehicles - Vehicles management
  • /maintenance-visits - Maintenance visits
  • /expenses - Expenses management
  • /financial-reports - Financial reports
  • /users - User management

🎯 Expected Behavior (Same on All Pages)

Mobile (< 768px)

  1. Hamburger Button (☰)

    • Visible in top-right corner
    • Clickable
    • Opens mobile menu
  2. Mobile Menu

    • Slides in from right
    • Shows all navigation items
    • Current page is highlighted in blue
    • Dark overlay appears behind menu
    • Menu is above overlay (z-index: 50)
  3. Closing the Menu

    • Click X button → closes
    • Click outside (overlay) → closes
    • Press Escape key → closes
    • Click any menu item → navigates and closes
  4. Navigation

    • All menu items are clickable
    • Navigation works correctly
    • Active page is highlighted

Desktop (>= 1024px)

  1. Sidebar
    • Visible on right side
    • No hamburger button
    • Toggle button to collapse/expand
    • State persists in localStorage

🧪 Test Each Page

Test on /dashboard

1. Resize to mobile (< 768px)
2. Click hamburger (☰)
3. Menu should slide in
4. Click "العملاء" (Customers)
5. Should navigate to /customers
6. Menu should close automatically

Test on /customers

1. You should already be on /customers
2. Click hamburger (☰)
3. Menu should slide in
4. "العملاء" should be highlighted in blue
5. Click "المركبات" (Vehicles)
6. Should navigate to /vehicles
7. Menu should close automatically

Test on /vehicles

1. You should already be on /vehicles
2. Click hamburger (☰)
3. Menu should slide in
4. "المركبات" should be highlighted in blue
5. Click "زيارات الصيانة" (Maintenance Visits)
6. Should navigate to /maintenance-visits
7. Menu should close automatically

Test on /maintenance-visits

1. You should already be on /maintenance-visits
2. Click hamburger (☰)
3. Menu should slide in
4. "زيارات الصيانة" should be highlighted in blue
5. Click "المصروفات" (Expenses)
6. Should navigate to /expenses
7. Menu should close automatically

Test on /expenses

1. You should already be on /expenses
2. Click hamburger (☰)
3. Menu should slide in
4. "المصروفات" should be highlighted in blue
5. Click "التقارير المالية" (Financial Reports)
6. Should navigate to /financial-reports
7. Menu should close automatically

Test on /financial-reports

1. You should already be on /financial-reports
2. Click hamburger (☰)
3. Menu should slide in
4. "التقارير المالية" should be highlighted in blue
5. Click "إدارة المستخدمين" (User Management)
6. Should navigate to /users
7. Menu should close automatically

Test on /users

1. You should already be on /users
2. Click hamburger (☰)
3. Menu should slide in
4. "إدارة المستخدمين" should be highlighted in blue
5. Click "لوحة التحكم" (Dashboard)
6. Should navigate to /dashboard
7. Menu should close automatically

🔍 Common Issues & Solutions

Issue: Menu doesn't open

Solution: Clear browser cache and hard refresh (Ctrl+Shift+R)

Issue: Menu opens but items not visible

Solution: Already fixed! Z-index updated (sidebar: 50, overlay: 40)

Issue: Menu doesn't close after clicking item

Solution: Already fixed! Auto-close on navigation implemented

Issue: Wrong page highlighted

Solution: Check that you're on the correct route. The highlight is based on location.pathname

Issue: Menu appears on desktop

Solution: Already fixed! Menu uses md:hidden class to hide on desktop

📊 Technical Details

Z-Index Hierarchy

Overlay:  40 (dark background)
Sidebar:  50 (menu - above overlay)
Header:   60 (stays on top)
Modal:    70 (above everything)
Toast:    80 (notifications)

Responsive Breakpoints

Mobile:  < 768px  (hamburger menu)
Tablet:  768-1023px (hamburger menu)
Desktop: >= 1024px (persistent sidebar)

CSS Classes Used

md:hidden        /* Hide on desktop, show on mobile */
hidden md:block  /* Hide on mobile, show on desktop */

Verification Complete

If all tests pass, the mobile menu is working correctly on all pages!

Current Status:

  • All pages use DashboardLayout
  • Z-index fixed (sidebar above overlay)
  • Auto-close on navigation
  • Keyboard navigation (Escape key)
  • Accessibility (ARIA labels)
  • Responsive design (mobile-first)

The mobile menu should work identically on all pages because they all share the same layout component.