import "package:flutter/material.dart"; class Destination { final double latitude; final double longitude; final String name; final String description; // final DestinationType type; final Duration duration; final bool visited; const Destination({ required this.latitude, required this.longitude, required this.name, required this.description, // required this.type, required this.duration, required this.visited, }); factory Destination.fromJson(Map json) { return switch (json) { { 'lat': double latitude, 'lon': double longitude, 'name': String name, 'description': String description, // 'type': String type, 'duration': int duration, 'visited': bool visited } => Destination( latitude: latitude, longitude: longitude, name: name, description: description, // type: "DestinationType.values.firstWhere((element) => element.name == type)", duration: Duration(minutes: duration), visited: visited ), _ => throw const FormatException('Failed to load destination.'), }; } } class DestinationType { final String name; final String description; final Icon icon; const DestinationType({ required this.name, required this.description, required this.icon, }); }