Files
mobile/lib/core/theme/machine_status_theme.dart

31 lines
1014 B
Dart

import 'package:flutter/material.dart';
import 'app_colors.dart';
/// Couleurs et libellés des statuts machine (inspiré WashOnline, plus lisible).
abstract final class MachineStatusTheme {
static Color color(String status) => switch (status) {
'available' => AppColors.machineAvailable,
'running' => AppColors.machineRunning,
'reserved' => AppColors.machineReserved,
'maintenance' || 'offline' || 'error' => AppColors.machineOffline,
_ => AppColors.textSecondary,
};
static String label(String status) => switch (status) {
'available' => 'Libre',
'running' => 'En cours',
'reserved' => 'Réservée',
'maintenance' => 'Maintenance',
'offline' => 'Hors ligne',
'error' => 'Erreur',
_ => status,
};
static IconData iconForType(String type) => type.startsWith('dryer')
? Icons.air_outlined
: Icons.water_drop_outlined;
static bool canStart(String status) => status == 'available';
}