feat(trades): add live execution cockpit, closing cockpit, calculation cards and precision trade settings

This commit is contained in:
2026-08-15 19:30:25 +02:00
parent 882d24a316
commit 34fa774cbf
31 changed files with 4235 additions and 630 deletions
@@ -26,7 +26,7 @@ class TradeBloc extends Bloc<TradeEvent, TradeState> {
Future<void> _onCloseTrade(CloseTrade event, Emitter<TradeState> emit) async {
emit(TradeLoading());
try {
await repository.closeTrade(event.tradeId);
await repository.closeTrade(event.tradeId, dto: event.dto);
final trades = await repository.fetchTrades();
emit(TradeLoaded(trades));
} catch (e) {
@@ -1,5 +1,6 @@
import 'package:equatable/equatable.dart';
import '../models/trade_acceptance_dto.dart';
import '../models/close_trade_request_dto.dart';
abstract class TradeEvent extends Equatable {
const TradeEvent();
@@ -20,11 +21,12 @@ class FetchTrades extends TradeEvent {
class CloseTrade extends TradeEvent {
final String tradeId;
final CloseTradeRequestDto? dto;
const CloseTrade(this.tradeId);
const CloseTrade(this.tradeId, {this.dto});
@override
List<Object?> get props => [tradeId];
List<Object?> get props => [tradeId, dto];
}
class AcceptTradeProposalEvent extends TradeEvent {
@@ -35,3 +37,4 @@ class AcceptTradeProposalEvent extends TradeEvent {
@override
List<Object?> get props => [dto];
}