refactor: save current workspace state including FinlyticAnalyzer fixes, FinlyticApp trade route alignment, and DTO audit documentation
This commit is contained in:
@@ -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,
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user