diff --git a/lib/pages/dynamics/widgets/additional_panel.dart b/lib/pages/dynamics/widgets/additional_panel.dart index c12490a2e..1de7dfc41 100644 --- a/lib/pages/dynamics/widgets/additional_panel.dart +++ b/lib/pages/dynamics/widgets/additional_panel.dart @@ -7,11 +7,10 @@ import 'package:PiliPlus/models/dynamics/result.dart'; import 'package:PiliPlus/pages/dynamics/widgets/vote.dart'; import 'package:PiliPlus/utils/app_scheme.dart'; import 'package:PiliPlus/utils/num_utils.dart'; -import 'package:flutter/foundation.dart' show kDebugMode; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -Widget addWidget( +Widget? addWidget( BuildContext context, { required int floor, required ThemeData theme, @@ -27,7 +26,7 @@ Widget addWidget( try { switch (type) { // 转发的投稿 - case 'ADDITIONAL_TYPE_UGC': + case 'ADDITIONAL_TYPE_UGC' when (additional.ugc != null): final ugc = additional.ugc!; child = InkWell( borderRadius: borderRadius, @@ -72,7 +71,7 @@ Widget addWidget( ), ); - case 'ADDITIONAL_TYPE_RESERVE': + case 'ADDITIONAL_TYPE_RESERVE' when (additional.reserve != null): final reserve = additional.reserve!; if (reserve.state != -1 && reserve.title != null) { child = InkWell( @@ -213,7 +212,8 @@ Widget addWidget( ); } - case 'ADDITIONAL_TYPE_UPOWER_LOTTERY': + case 'ADDITIONAL_TYPE_UPOWER_LOTTERY' + when (additional.upowerLottery != null): final content = additional.upowerLottery!; child = InkWell( borderRadius: borderRadius, @@ -308,7 +308,7 @@ Widget addWidget( ); // 商品 - case 'ADDITIONAL_TYPE_GOODS': + case 'ADDITIONAL_TYPE_GOODS' when (additional.goods != null): final content = additional.goods!; if (content.items?.isNotEmpty == true) { child = Column( @@ -395,7 +395,7 @@ Widget addWidget( ); } - case 'ADDITIONAL_TYPE_VOTE': + case 'ADDITIONAL_TYPE_VOTE' when (additional.vote != null): final vote = additional.vote!; child = InkWell( borderRadius: borderRadius, @@ -483,7 +483,7 @@ Widget addWidget( ), ); - case 'ADDITIONAL_TYPE_COMMON': + case 'ADDITIONAL_TYPE_COMMON' when (additional.common != null): final content = additional.common!; child = InkWell( borderRadius: borderRadius, @@ -557,7 +557,7 @@ Widget addWidget( ), ); - case 'ADDITIONAL_TYPE_MATCH': + case 'ADDITIONAL_TYPE_MATCH' when (additional.match != null): final content = additional.match!; Widget teamItem(TTeam team, Alignment alignment, EdgeInsets padding) { return Expanded( @@ -687,13 +687,7 @@ Widget addWidget( ), ); } else { - if (kDebugMode) { - return Padding( - padding: const EdgeInsets.symmetric(horizontal: 12), - child: Text('additional panel\ntype: $type'), - ); - } - return const SizedBox.shrink(); + return null; } } catch (e) { return Padding( diff --git a/lib/pages/dynamics/widgets/dyn_content.dart b/lib/pages/dynamics/widgets/dyn_content.dart index e144f2f7f..6c3410393 100644 --- a/lib/pages/dynamics/widgets/dyn_content.dart +++ b/lib/pages/dynamics/widgets/dyn_content.dart @@ -33,7 +33,7 @@ List dynContent( floor: floor, ), if (moduleDynamic?.additional case final additional?) - addWidget( + ?addWidget( theme: theme, context, idStr: item.idStr,