feat: Implement available orders feature in staff marketplace

- Added `AvailableOrder` and `AvailableOrderSchedule` entities to represent available orders and their schedules.
- Introduced `GetAvailableOrdersUseCase` and `BookOrderUseCase` for fetching and booking orders.
- Created `AvailableOrdersBloc` to manage the state of available orders and handle booking actions.
- Developed UI components including `AvailableOrderCard` to display order details and booking options.
- Added necessary events and states for the BLoC architecture to support loading and booking orders.
- Integrated new enums and utility functions for handling order types and scheduling.
This commit is contained in:
Achintha Isuru
2026-03-19 13:23:28 -04:00
parent 5792aa6e98
commit 96056d0170
21 changed files with 1498 additions and 359 deletions

View File

@@ -1877,5 +1877,18 @@
"success_message": "Cash out request submitted!",
"fee_notice": "A small fee of \\$1.99 may apply for instant transfers."
}
},
"available_orders": {
"book_order": "Book Order",
"apply": "Apply",
"spots_left": "${count} spot(s) left",
"shifts_count": "${count} shift(s)",
"booking_success": "Order booked successfully!",
"booking_pending": "Your booking is pending approval",
"booking_confirmed": "Your booking has been confirmed!",
"no_orders": "No orders available",
"no_orders_subtitle": "Check back later for new opportunities",
"instant_book": "Instant Book",
"per_hour": "/hr"
}
}

View File

@@ -1877,5 +1877,18 @@
"success_message": "\u00a1Solicitud de retiro enviada!",
"fee_notice": "Puede aplicarse una peque\u00f1a tarifa de \\$1.99 para transferencias instant\u00e1neas."
}
},
"available_orders": {
"book_order": "Reservar Orden",
"apply": "Aplicar",
"spots_left": "${count} puesto(s) disponible(s)",
"shifts_count": "${count} turno(s)",
"booking_success": "\u00a1Orden reservada con \u00e9xito!",
"booking_pending": "Tu reserva est\u00e1 pendiente de aprobaci\u00f3n",
"booking_confirmed": "\u00a1Tu reserva ha sido confirmada!",
"no_orders": "No hay \u00f3rdenes disponibles",
"no_orders_subtitle": "Vuelve m\u00e1s tarde para nuevas oportunidades",
"instant_book": "Reserva Instant\u00e1nea",
"per_hour": "/hr"
}
}