Implements complete refactor of Ionic Angular logistics app to Flutter/Dart with: - Svrnty dark mode console theme (Material Design 3) - Responsive layouts (mobile, tablet, desktop) following FRONTEND standards - CQRS API integration with Result<T> error handling - OAuth2/OIDC authentication support (mocked for initial testing) - Delivery route and delivery management features - Multi-language support (EN/FR) with i18n - Native integrations (camera, phone calls, maps) - Strict typing throughout codebase - Mock data for UI testing without backend Follows all FRONTEND style guides, design patterns, and conventions. App is running in dark mode and fully responsive across all device sizes. Co-Authored-By: Claude <noreply@anthropic.com>
33 lines
773 B
Dart
33 lines
773 B
Dart
import '../api/types.dart';
|
|
|
|
class DeliveryContact implements Serializable {
|
|
final String firstName;
|
|
final String? lastName;
|
|
final String fullName;
|
|
final String? phoneNumber;
|
|
|
|
const DeliveryContact({
|
|
required this.firstName,
|
|
this.lastName,
|
|
required this.fullName,
|
|
this.phoneNumber,
|
|
});
|
|
|
|
factory DeliveryContact.fromJson(Map<String, dynamic> json) {
|
|
return DeliveryContact(
|
|
firstName: json['firstName'] as String,
|
|
lastName: json['lastName'] as String?,
|
|
fullName: json['fullName'] as String,
|
|
phoneNumber: json['phoneNumber'] as String?,
|
|
);
|
|
}
|
|
|
|
@override
|
|
Map<String, Object?> toJson() => {
|
|
'firstName': firstName,
|
|
'lastName': lastName,
|
|
'fullName': fullName,
|
|
'phoneNumber': phoneNumber,
|
|
};
|
|
}
|