get_status_style.dart 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import 'package:turquessa_mesas_hoster/core/models/mesa_model.dart';
  2. import 'package:turquessa_mesas_hoster/mvvm/views/home/home_screen.dart';
  3. import 'package:flutter/material.dart';
  4. // Clase para encapsular todas las propiedades de estilo relacionadas con el estado
  5. class TableStatusStyle {
  6. final Color backgroundColor;
  7. final Color iconColor;
  8. final IconData icon;
  9. final Color cardColor;
  10. final EstadoPedido nextStatus;
  11. TableStatusStyle({
  12. required this.backgroundColor,
  13. required this.iconColor,
  14. required this.icon,
  15. required this.cardColor,
  16. required this.nextStatus,
  17. });
  18. }
  19. TableStatusStyle getStatusStyle(EstadoPedido? status) {
  20. status = status ?? EstadoPedido.disponible;
  21. switch (status) {
  22. case EstadoPedido.disponible:
  23. return TableStatusStyle(
  24. backgroundColor: const Color.fromARGB(255, 220, 252, 232),
  25. iconColor: Colors.green,
  26. icon: Icons.table_restaurant_rounded,
  27. cardColor: const Color.fromARGB(255, 220, 252, 232),
  28. nextStatus: EstadoPedido.preparacion,
  29. );
  30. case EstadoPedido.surtida:
  31. return TableStatusStyle(
  32. backgroundColor: const Color.fromARGB(255, 220, 234, 254),
  33. iconColor: Colors.blue,
  34. icon: Icons.coffee_rounded,
  35. cardColor: const Color.fromARGB(255, 220, 234, 254),
  36. nextStatus: EstadoPedido.cobrado,
  37. );
  38. case EstadoPedido.preparacion:
  39. return TableStatusStyle(
  40. backgroundColor: const Color.fromARGB(255, 243, 232, 255),
  41. iconColor: Colors.deepPurple,
  42. icon: Icons.restaurant_rounded,
  43. cardColor: Colors.white,
  44. nextStatus: EstadoPedido.surtida,
  45. );
  46. case EstadoPedido.cobrado:
  47. return TableStatusStyle(
  48. backgroundColor: const Color.fromARGB(255, 255, 238, 213),
  49. iconColor: Colors.amber,
  50. icon: Icons.attach_money_rounded,
  51. cardColor: Colors.white,
  52. nextStatus: EstadoPedido.disponible,
  53. );
  54. default:
  55. return TableStatusStyle(
  56. backgroundColor: Colors.grey.shade200,
  57. iconColor: Colors.grey,
  58. icon: Icons.settings,
  59. cardColor: Colors.white,
  60. nextStatus: EstadoPedido.disponible,
  61. );
  62. }
  63. }