mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-27 06:18:50 +01:00
Release fixes (#3301)
* fix: Solana GMT token showing the wrong decimal place * add badge icon to swap confirm sheet, also address book chain icons display correctly * missing mask icon for mweb
This commit is contained in:
@@ -6,34 +6,36 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
class ListItemRegularRowWidget extends StatelessWidget {
|
||||
const ListItemRegularRowWidget({
|
||||
super.key,
|
||||
required this.keyValue,
|
||||
required this.label,
|
||||
this.subtitle,
|
||||
this.trailingText,
|
||||
this.iconPath,
|
||||
this.onTap,
|
||||
this.isFirstInSection = false,
|
||||
this.isLastInSection = false,
|
||||
this.showArrow = true,
|
||||
this.trailingIconPath,
|
||||
this.truncateTrailingText = false,
|
||||
this.foregroundColor,
|
||||
this.trailingIconSize,
|
||||
this.bottomWidget,
|
||||
this.trailingWidget,
|
||||
this.copyableText,
|
||||
this.leadingIconErrorWidget,
|
||||
this.leadingIconSize,
|
||||
this.iconColor
|
||||
});
|
||||
const ListItemRegularRowWidget(
|
||||
{super.key,
|
||||
required this.keyValue,
|
||||
required this.label,
|
||||
this.subtitle,
|
||||
this.trailingText,
|
||||
this.iconPath,
|
||||
this.badgeIconPath,
|
||||
this.onTap,
|
||||
this.isFirstInSection = false,
|
||||
this.isLastInSection = false,
|
||||
this.showArrow = true,
|
||||
this.trailingIconPath,
|
||||
this.truncateTrailingText = false,
|
||||
this.foregroundColor,
|
||||
this.trailingIconSize,
|
||||
this.bottomWidget,
|
||||
this.trailingWidget,
|
||||
this.copyableText,
|
||||
this.leadingIconErrorWidget,
|
||||
this.leadingIconSize,
|
||||
this.badgeIconSize,
|
||||
this.iconColor});
|
||||
|
||||
final String keyValue;
|
||||
final String label;
|
||||
final String? subtitle;
|
||||
final String? trailingText;
|
||||
final String? iconPath;
|
||||
final String? badgeIconPath;
|
||||
final VoidCallback? onTap;
|
||||
final bool isFirstInSection;
|
||||
final bool isLastInSection;
|
||||
@@ -47,6 +49,7 @@ class ListItemRegularRowWidget extends StatelessWidget {
|
||||
final String? copyableText;
|
||||
final Widget? leadingIconErrorWidget;
|
||||
final double? leadingIconSize;
|
||||
final double? badgeIconSize;
|
||||
final Color? iconColor;
|
||||
|
||||
@override
|
||||
@@ -69,6 +72,38 @@ class ListItemRegularRowWidget extends StatelessWidget {
|
||||
isFirstInSection: isFirstInSection,
|
||||
isLastInSection: isLastInSection,
|
||||
builder: (context, textStyle, labelStyle) {
|
||||
final leadingIcon = iconPath != null
|
||||
? CakeImageWidget(
|
||||
imageUrl: iconPath!,
|
||||
width: leadingIconSize ?? 24,
|
||||
height: leadingIconSize ?? 24,
|
||||
errorWidget: leadingIconErrorWidget,
|
||||
colorFilter:
|
||||
iconColor == null ? null : ColorFilter.mode(iconColor!, BlendMode.srcIn),
|
||||
)
|
||||
: null;
|
||||
|
||||
final imageWidget = badgeIconPath != null
|
||||
? Stack(
|
||||
clipBehavior: Clip.none,
|
||||
children: [
|
||||
leadingIcon!,
|
||||
Positioned(
|
||||
right: -3,
|
||||
bottom: -3,
|
||||
child: CakeImageWidget(
|
||||
imageUrl: badgeIconPath!,
|
||||
width: badgeIconSize ?? 10,
|
||||
height: badgeIconSize ?? 10,
|
||||
errorWidget: leadingIconErrorWidget,
|
||||
colorFilter: iconColor == null
|
||||
? null
|
||||
: ColorFilter.mode(iconColor!, BlendMode.srcIn),
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
: leadingIcon;
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
@@ -81,16 +116,9 @@ class ListItemRegularRowWidget extends StatelessWidget {
|
||||
children: [
|
||||
if (iconPath != null)
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(right: 12.0),
|
||||
child: CakeImageWidget(
|
||||
imageUrl: iconPath!,
|
||||
width: leadingIconSize ?? 24,
|
||||
height: leadingIconSize ?? 24,
|
||||
errorWidget: leadingIconErrorWidget,
|
||||
colorFilter: iconColor == null
|
||||
? null
|
||||
: ColorFilter.mode(iconColor!, BlendMode.srcIn),
|
||||
)),
|
||||
padding: const EdgeInsets.only(right: 12.0),
|
||||
child: imageWidget ?? SizedBox(),
|
||||
),
|
||||
Flexible(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
@@ -140,14 +168,13 @@ class ListItemRegularRowWidget extends StatelessWidget {
|
||||
BlendMode.srcIn),
|
||||
)
|
||||
else if (showArrow)
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 7.0),
|
||||
child: CakeImageWidget(imageUrl:
|
||||
"assets/new-ui/arrow_forward.svg",
|
||||
height: 14,
|
||||
color: theme.colorScheme.onSurfaceVariant
|
||||
),
|
||||
)
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 7.0),
|
||||
child: CakeImageWidget(
|
||||
imageUrl: "assets/new-ui/arrow_forward.svg",
|
||||
height: 14,
|
||||
color: theme.colorScheme.onSurfaceVariant),
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
|
||||
@@ -96,6 +96,7 @@ class NewListSections extends StatelessWidget {
|
||||
subtitle: item.subtitle,
|
||||
trailingText: item.trailingText,
|
||||
iconPath: item.iconPath,
|
||||
badgeIconPath: item.badgeIconPath,
|
||||
trailingIconPath: item.trailingIconPath,
|
||||
onTap: tapHandlers[item.keyValue] ?? item.onTap,
|
||||
isFirstInSection: isFirst,
|
||||
@@ -109,6 +110,7 @@ class NewListSections extends StatelessWidget {
|
||||
bottomWidget: item.bottomWidget,
|
||||
leadingIconErrorWidget: item.leadingIconErrorWidget,
|
||||
leadingIconSize: item.leadingIconSize,
|
||||
badgeIconSize: item.badgeIconSize,
|
||||
iconColor: item.iconColor,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user