feat(App): update Finlytic Flutter app UI and blocs

This commit is contained in:
2026-08-09 21:01:46 +02:00
parent e7427b7464
commit a708d2977c
591 changed files with 1095105 additions and 0 deletions
@@ -0,0 +1,60 @@
import 'package:equatable/equatable.dart';
class CorporateEventModel extends Equatable {
final String id;
final String symbol;
final String companyName;
final String eventType;
final DateTime eventDate;
final String description;
const CorporateEventModel({
required this.id,
required this.symbol,
required this.companyName,
required this.eventType,
required this.eventDate,
required this.description,
});
factory CorporateEventModel.fromJson(Map<String, dynamic> json) {
DateTime parseDate(dynamic raw) {
if (raw == null) return DateTime(1970);
final str = raw.toString();
try {
if (str.contains('.')) {
final parts = str.split('.');
if (parts.length >= 3) {
return DateTime(int.parse(parts[2]), int.parse(parts[1]), int.parse(parts[0]));
}
}
return DateTime.parse(str);
} catch (_) {
return DateTime(1970);
}
}
return CorporateEventModel(
id: json['id']?.toString() ?? json['Id']?.toString() ?? '',
symbol: json['symbol']?.toString() ?? json['Symbol']?.toString() ?? '',
companyName: json['companyName']?.toString() ?? json['CompanyName']?.toString() ?? '',
eventType: json['eventType']?.toString() ?? json['EventType']?.toString() ?? '',
eventDate: parseDate(json['eventDate'] ?? json['EventDate']),
description: json['description']?.toString() ?? json['Description']?.toString() ?? '',
);
}
Map<String, dynamic> toJson() {
return {
'id': id,
'symbol': symbol,
'companyName': companyName,
'eventType': eventType,
'eventDate': eventDate.toIso8601String(),
'description': description,
};
}
@override
List<Object?> get props => [id, symbol, companyName, eventType, eventDate, description];
}