feat(app): add evaluation history, bot control panel, simulation visualizer, and vendored signalr_core
This commit is contained in:
@@ -35,7 +35,7 @@ class TradeDetailModal extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final isBuy = trade.signalType == 'BUY';
|
||||
final isBuy = trade.direction.isLong;
|
||||
final signalColor = isBuy ? AppTheme.primaryEmerald : AppTheme.accentRed;
|
||||
|
||||
return Container(
|
||||
@@ -78,7 +78,7 @@ class TradeDetailModal extends StatelessWidget {
|
||||
border: Border.all(color: signalColor.withValues(alpha: 0.5)),
|
||||
),
|
||||
child: Text(
|
||||
trade.signalType,
|
||||
trade.direction.label,
|
||||
style: TextStyle(color: signalColor, fontWeight: FontWeight.bold, fontSize: 14),
|
||||
),
|
||||
),
|
||||
@@ -88,21 +88,13 @@ class TradeDetailModal extends StatelessWidget {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
trade.symbol.isNotEmpty && trade.symbol != 'UNKNOWN'
|
||||
? trade.symbol
|
||||
: (trade.companyName.isNotEmpty && trade.companyName != 'UNKNOWN' ? trade.companyName : (trade.isin.isNotEmpty ? trade.isin : 'Aktie')),
|
||||
trade.symbol.isNotEmpty ? trade.symbol : trade.underlyingIsin,
|
||||
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 20, color: Colors.white),
|
||||
),
|
||||
if (trade.companyName.isNotEmpty && trade.companyName != trade.symbol && trade.companyName != 'UNKNOWN')
|
||||
Text(
|
||||
trade.companyName,
|
||||
style: TextStyle(color: AppTheme.textMuted, fontSize: 13),
|
||||
),
|
||||
if (trade.isin.isNotEmpty || trade.sector.isNotEmpty)
|
||||
Text(
|
||||
'${trade.isin.isNotEmpty ? trade.isin : ""}${trade.isin.isNotEmpty && trade.sector.isNotEmpty ? " • " : ""}${trade.sector.isNotEmpty ? trade.sector : ""}',
|
||||
style: TextStyle(color: AppTheme.textMuted.withValues(alpha: 0.7), fontSize: 11),
|
||||
),
|
||||
Text(
|
||||
trade.underlyingIsin,
|
||||
style: TextStyle(color: AppTheme.textMuted.withValues(alpha: 0.7), fontSize: 11),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
@@ -118,7 +110,7 @@ class TradeDetailModal extends StatelessWidget {
|
||||
const Icon(Icons.star, size: 14, color: Colors.amber),
|
||||
const SizedBox(width: 4),
|
||||
Text(
|
||||
'${trade.winRate.toStringAsFixed(0)}% Win-Rate',
|
||||
trade.status.label,
|
||||
style: const TextStyle(color: Colors.amber, fontWeight: FontWeight.bold, fontSize: 11),
|
||||
),
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user