refactor: save current workspace state including FinlyticAnalyzer fixes, FinlyticApp trade route alignment, and DTO audit documentation

This commit is contained in:
2026-08-12 18:30:42 +02:00
parent a9553e9fbf
commit 3d8af3940b
163 changed files with 3421 additions and 1751 deletions
@@ -68,8 +68,13 @@ class _AssetDiscoveryBarState extends State<AssetDiscoveryBar> {
itemCount: assets.length,
itemBuilder: (context, index) {
final asset = assets[index];
final identifier = asset.symbol.isNotEmpty ? asset.symbol : asset.isin;
final isFav = favState.isFavorite(identifier) || favState.isFavorite(asset.isin);
final isin = asset.isin;
final matches = favState.favoriteDetails.where((e) => e.isin == isin);
final symbol = matches.isNotEmpty ? matches.first : null;
final symbolOrNull = symbol?.symbol;
final isFav = symbol != null;
return Padding(
padding: const EdgeInsets.only(right: 8),
@@ -101,7 +106,9 @@ class _AssetDiscoveryBarState extends State<AssetDiscoveryBar> {
context,
MaterialPageRoute(
builder: (_) => AssetDetailScreen(
symbol: identifier,
isin: isin,
name: asset.name,
symbol: symbolOrNull,
apiClient: widget.apiClient,
),
),
@@ -43,12 +43,9 @@ class FavoritesCarousel extends StatelessWidget {
itemCount: favoritesList.length,
itemBuilder: (context, index) {
final fav = favoritesList[index];
final displayName = fav.name.isNotEmpty
? fav.name
: (fav.symbol.isNotEmpty ? fav.symbol : fav.isin);
final isinOrSymbol = fav.isin.isNotEmpty
? fav.isin
: (fav.symbol.isNotEmpty ? fav.symbol : fav.name);
final displayName = fav.name;
final isin = fav.isin;
final symbol = fav.symbol.isNotEmpty ? fav.symbol : null;
final isPositive = fav.change24h >= 0;
@@ -62,7 +59,9 @@ class FavoritesCarousel extends StatelessWidget {
context,
MaterialPageRoute(
builder: (_) => AssetDetailScreen(
symbol: isinOrSymbol,
isin: isin,
name: displayName,
symbol: symbol,
apiClient: apiClient,
),
),
@@ -75,7 +74,7 @@ class FavoritesCarousel extends StatelessWidget {
Row(
children: [
AssetLogoWidget(
symbolOrName: isinOrSymbol,
symbolOrName: isin,
imageUrl: fav.image.isNotEmpty ? fav.image : null,
size: 24,
),
@@ -92,7 +91,7 @@ class FavoritesCarousel extends StatelessWidget {
),
),
FavoriteStarButton(
identifier: isinOrSymbol,
identifier: isin,
symbol: fav.symbol,
name: fav.name,
size: 18,
@@ -110,7 +110,9 @@ class _TradesStreamWidgetContent extends StatelessWidget {
context,
MaterialPageRoute(
builder: (ctx) => AssetDetailScreen(
symbol: p.symbol.isNotEmpty ? p.symbol : p.isin,
isin: p.isin,
name: p.companyName,
symbol: p.symbol.isNotEmpty ? p.symbol : null,
apiClient: context.read<TradeBloc>().repository.apiClient,
),
),