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,20 @@
import 'package:flutter_bloc/flutter_bloc.dart';
import 'asset_header_event.dart';
import 'asset_header_state.dart';
import '../../repositories/asset_repository.dart';
class AssetHeaderBloc extends Bloc<AssetHeaderEvent, AssetHeaderState> {
final AssetRepository repository;
AssetHeaderBloc({required this.repository}) : super(AssetHeaderInitial()) {
on<LoadAssetHeader>((event, emit) async {
final prevData = state is AssetHeaderLoaded ? (state as AssetHeaderLoaded).data : (state is AssetHeaderLoading ? (state as AssetHeaderLoading).previousData : null);
emit(AssetHeaderLoading(previousData: prevData));
try {
final data = await repository.getAssetHeader(event.isin, exchange: event.exchange, ticker: event.ticker);
emit(AssetHeaderLoaded(data));
} catch (e) {
emit(AssetHeaderError(e.toString()));
}
});
}
}
@@ -0,0 +1,8 @@
abstract class AssetHeaderEvent {}
class LoadAssetHeader extends AssetHeaderEvent {
final String isin;
final bool forceRefresh;
final String? exchange;
final String? ticker;
LoadAssetHeader(this.isin, {this.forceRefresh = false, this.exchange, this.ticker});
}
@@ -0,0 +1,16 @@
import '../../models/asset_model.dart';
abstract class AssetHeaderState {}
class AssetHeaderInitial extends AssetHeaderState {}
class AssetHeaderLoading extends AssetHeaderState {
final AssetModel? previousData;
AssetHeaderLoading({this.previousData});
}
class AssetHeaderLoaded extends AssetHeaderState {
final AssetModel? data;
AssetHeaderLoaded(this.data);
}
class AssetHeaderError extends AssetHeaderState {
final String message;
AssetHeaderError(this.message);
}