// Lazy loading các components cho chức năng đối soát
const ReconciliationManagement = () =>
  import("@/views/reconciliation/ReconciliationManagement.vue");
const CustomerReconciliationList = () =>
  import("@/views/reconciliation/CustomerReconciliationList.vue");
const CustomerReconciliationDetail = () =>
  import("@/views/reconciliation/CustomerReconciliationDetail.vue");
const CustomerReconciliationSlipList = () =>
  import("@/views/reconciliation/CustomerReconciliationSlipList.vue");
const CustomerReconciliationSlipDetail = () =>
  import("@/views/reconciliation/CustomerReconciliationSlipDetail.vue");
const CreateReconciliation = () =>
  import("@/views/reconciliation/CreateReconciliation.vue");
const ReconciliationList = () =>
  import("@/views/reconciliation/ReconciliationList.vue");
const ReconciliationDetail = () =>
  import("@/views/reconciliation/ReconciliationDetail.vue");

// Lazy loading các components cho chức năng đối soát tiền cước
const CustomerShippingFeeReconciliationList = () =>
  import("@/views/reconciliation/CustomerShippingFeeReconciliationList.vue");
const CreateShippingFeeReconciliation = () =>
  import("@/views/reconciliation/CreateShippingFeeReconciliation.vue");
const ShippingFeeReconciliationList = () =>
  import("@/views/reconciliation/ShippingFeeReconciliationList.vue");
const ShippingFeeReconciliationDetail = () =>
  import("@/views/reconciliation/ShippingFeeReconciliationDetail.vue");

export const ReconciliationRoutes = [
  // Route chính cho quản lý đối soát (gộp 2 tab)
  {
    name: "reconciliation-management",
    path: "/doi-soat",
    component: ReconciliationManagement,
    meta: {
      title: "Quản lý đối soát",
      description:
        "Quản lý danh sách khách hàng cần đối soát và phiếu đối soát",
    },
  },
  // Routes cho đối soát tiền thu hộ
  {
    name: "customer-reconciliation-list",
    path: "/doi-soat/khach-hang",
    component: CustomerReconciliationList,
    meta: {
      title: "Danh sách khách hàng cần đối soát tiền thu hộ",
      description:
        "Hiển thị danh sách khách hàng có đơn hàng cần đối soát tiền thu hộ",
    },
  },
  {
    name: "customer-reconciliation-detail",
    path: "/doi-soat-khach-hang/:customerId",
    component: CustomerReconciliationDetail,
    meta: {
      title: "Chi tiết đối soát khách hàng",
      description: "Xem chi tiết các đơn hàng có thể đối soát của khách hàng",
    },
  },
  {
    name: "customer-reconciliation-slip-list",
    path: "/doi-soat/phieu",
    component: CustomerReconciliationSlipList,
    meta: {
      title: "Danh sách phiếu đối soát",
      description: "Quản lý các phiếu đối soát khách hàng đã tạo",
    },
  },
  {
    name: "customer-reconciliation-slip-detail",
    path: "/phieu-doi-soat/:id",
    component: CustomerReconciliationSlipDetail,
    meta: {
      title: "Chi tiết phiếu đối soát",
      description: "Xem chi tiết phiếu đối soát khách hàng",
    },
  },
  {
    name: "create-reconciliation",
    path: "/doi-soat-tao-moi",
    component: CreateReconciliation,
    meta: {
      title: "Tạo đối soát tiền thu hộ mới",
      description: "Tạo phiếu đối soát tiền thu hộ mới cho khách hàng",
    },
  },
  {
    name: "create-reconciliation-for-customer",
    path: "/doi-soat-tao-moi/:customerId",
    component: CreateReconciliation,
    meta: {
      title: "Tạo đối soát tiền thu hộ cho khách hàng",
      description: "Tạo phiếu đối soát tiền thu hộ mới cho khách hàng cụ thể",
    },
  },
  {
    name: "reconciliation-list",
    path: "/doi-soat-danh-sach",
    component: ReconciliationList,
    meta: {
      title: "Danh sách phiếu đối soát tiền thu hộ",
      description: "Quản lý các phiếu đối soát tiền thu hộ đã tạo",
    },
  },
  {
    name: "reconciliation-detail",
    path: "/doi-soat-chi-tiet/:id",
    component: ReconciliationDetail,
    meta: {
      title: "Chi tiết phiếu đối soát tiền thu hộ",
      description: "Xem chi tiết và thao tác với phiếu đối soát tiền thu hộ",
    },
  },

  // Routes cho đối soát tiền cước
  {
    name: "customer-shipping-fee-reconciliation-list",
    path: "/doi-soat-cuoc-khach-hang",
    component: CustomerShippingFeeReconciliationList,
    meta: {
      title: "Danh sách khách hàng cần đối soát cước",
      description:
        "Hiển thị danh sách khách hàng có đơn hàng cần đối soát cước",
    },
  },
  {
    name: "create-shipping-fee-reconciliation",
    path: "/doi-soat-cuoc/tao-moi",
    component: CreateShippingFeeReconciliation,
    meta: {
      title: "Tạo đối soát cước mới",
      description: "Tạo phiếu đối soát cước mới cho khách hàng",
    },
  },
  {
    name: "create-shipping-fee-reconciliation-for-customer",
    path: "/doi-soat-cuoc/tao-moi/:customerId",
    component: CreateShippingFeeReconciliation,
    meta: {
      title: "Tạo đối soát cước cho khách hàng",
      description: "Tạo phiếu đối soát cước mới cho khách hàng cụ thể",
    },
  },
  {
    name: "shipping-fee-reconciliation-list",
    path: "/doi-soat-cuoc/danh-sach",
    component: ShippingFeeReconciliationList,
    meta: {
      title: "Danh sách phiếu đối soát cước",
      description: "Quản lý các phiếu đối soát cước đã tạo",
    },
  },
  {
    name: "shipping-fee-reconciliation-detail",
    path: "/doi-soat-cuoc/chi-tiet/:id",
    component: ShippingFeeReconciliationDetail,
    meta: {
      title: "Chi tiết phiếu đối soát cước",
      description: "Xem chi tiết và thao tác với phiếu đối soát cước",
    },
  },
];
