CalendarMonthEvent.fromJson constructor

CalendarMonthEvent.fromJson(
  1. Map<String, dynamic> json
)

Factory constructor to create a CalendarMonthEvent from a JSON map. It handles parsing ISO date strings and hex color codes.

Implementation

factory CalendarMonthEvent.fromJson(Map<String, dynamic> json) {
  final statusTextColorHex = json['statusTextColor'];
  // The backend sometimes sends "0" to represent black.
  final textColor = statusTextColorHex == '0'
      ? Colors.black
      : parseColorHex(statusTextColorHex, Colors.white);

  return CalendarMonthEvent(
    id: json['id'],
    startDate: DateTime.parse(json['startDateIso'] + 'Z'),
    endDate: DateTime.parse(json['endDateIso'] + 'Z'),
    title: json['title'],
    background: parseColorHex(json['statusColor'], Colors.blue),
    iconUrl: json['iconUrl'],
    textColor: textColor,
    isReadOnly: json['isReadOnly'] ?? false,
  );
}