fix(favorite): 统一收藏状态与互动图标

This commit is contained in:
Zhou Weidong committed 2026-10-27 09:31:48 +08:00
1 parent 4b97f89c0b
commit d3dbc9f8dc
13 files changed
+347 -213

No files matched your search

+23 -11
View File
@@ -13,17 +13,19 @@ const double _itemGap = 24;
class InteractionRailItem {
const InteractionRailItem({
required this.key,
required this.asset,
required this.label,
required this.onTap,
this.asset,
this.icon,
this.count,
this.countKey,
this.selected = false,
this.selectedColor = AppColors.blue,
});
}) : assert((asset == null) != (icon == null));
final Key key;
final String asset;
final String? asset;
final IconData? icon;
final String label;
final VoidCallback onTap;
final int? count;
@@ -68,14 +70,24 @@ class _RailButton extends StatelessWidget {
child: IconButton(
onPressed: item.onTap,
padding: EdgeInsets.zero,
icon: Image.asset(
item.asset,
width: _iconSize,
height: _iconSize,
fit: BoxFit.contain,
color: item.selected ? item.selectedColor : AppColors.onPrimary,
colorBlendMode: BlendMode.srcIn,
),
icon: item.asset != null
? Image.asset(
item.asset!,
width: _iconSize,
height: _iconSize,
fit: BoxFit.contain,
color: item.selected
? item.selectedColor
: AppColors.onPrimary,
colorBlendMode: BlendMode.srcIn,
)
: Icon(
item.icon,
size: _iconSize,
color: item.selected
? item.selectedColor
: AppColors.onPrimary,
),
),
),
const SizedBox(height: 2),