/**
 * Staff Routes
 * 
 * Routes accessible only to staff members
 */

import { lazy } from 'react';
import { RouteObject, Navigate } from 'react-router-dom';

const StaffDashboardPage = lazy(() => import('../pages/staff/DashboardPage'));
const ChatManagementPage = lazy(() => import('../pages/staff/ChatManagementPage'));
const BookingManagementPage = lazy(() => import('../pages/staff/BookingManagementPage'));
const ReceptionDashboardPage = lazy(() => import('../pages/staff/ReceptionDashboardPage'));
const PaymentManagementPage = lazy(() => import('../pages/staff/PaymentManagementPage'));
const AnalyticsDashboardPage = lazy(() => import('../pages/staff/AnalyticsDashboardPage'));
const LoyaltyManagementPage = lazy(() => import('../pages/staff/LoyaltyManagementPage'));
const GuestProfilePage = lazy(() => import('../pages/staff/GuestProfilePage'));
const AdvancedRoomManagementPage = lazy(() => import('../pages/staff/AdvancedRoomManagementPage'));

const staffRoutes: RouteObject[] = [
  {
    path: '/staff',
    children: [
      { index: true, element: <Navigate to="dashboard" replace /> },
      { path: 'dashboard', element: <StaffDashboardPage /> },
      { path: 'bookings', element: <BookingManagementPage /> },
      { path: 'reception', element: <ReceptionDashboardPage /> },
      { path: 'payments', element: <PaymentManagementPage /> },
      { path: 'reports', element: <AnalyticsDashboardPage /> },
      { path: 'chats', element: <ChatManagementPage /> },
      { path: 'loyalty', element: <LoyaltyManagementPage /> },
      { path: 'guest-profiles', element: <GuestProfilePage /> },
      { path: 'advanced-rooms', element: <AdvancedRoomManagementPage /> },
    ],
  },
];

export default staffRoutes;

