From 36aa12025e85004204922684726ffd9b6fe09588 Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Mon, 25 Nov 2024 10:16:19 +0800 Subject: [PATCH] fix: block settings import #7 Signed-off-by: bggRGjQaUbCoE --- lib/pages/bangumi/introduction/view.dart | 1 + lib/pages/bangumi/widgets/bangumi_panel.dart | 6 +- lib/pages/history/controller.dart | 2 +- .../widgets/media_bangumi_panel.dart | 67 ++----------------- lib/utils/storage.dart | 4 +- 5 files changed, 14 insertions(+), 66 deletions(-) diff --git a/lib/pages/bangumi/introduction/view.dart b/lib/pages/bangumi/introduction/view.dart index e6181f7a..d84fc2d5 100644 --- a/lib/pages/bangumi/introduction/view.dart +++ b/lib/pages/bangumi/introduction/view.dart @@ -399,6 +399,7 @@ class _BangumiInfoState extends State : widget.bangumiDetail!.episodes!.first.cid), changeFuc: bangumiIntroController.changeSeasonOrbangu, showEpisodes: widget.showEpisodes, + newEp: bangumiItem?.newEp, ) ], ], diff --git a/lib/pages/bangumi/widgets/bangumi_panel.dart b/lib/pages/bangumi/widgets/bangumi_panel.dart index 801d05ff..2638561a 100644 --- a/lib/pages/bangumi/widgets/bangumi_panel.dart +++ b/lib/pages/bangumi/widgets/bangumi_panel.dart @@ -15,6 +15,7 @@ class BangumiPanel extends StatefulWidget { required this.changeFuc, required this.showEpisodes, required this.heroTag, + this.newEp, }); final List pages; @@ -22,6 +23,7 @@ class BangumiPanel extends StatefulWidget { final Function changeFuc; final Function showEpisodes; final String heroTag; + final dynamic newEp; @override State createState() => _BangumiPanelState(); @@ -126,7 +128,9 @@ class _BangumiPanelState extends State { cid, ), child: Text( - '全${widget.pages.length}话', + widget.newEp?['desc']?.contains('连载') == true + ? '连载中,更新至第${widget.newEp?['title']}话' + : '全${widget.newEp?['title']}话', style: const TextStyle(fontSize: 13), ), ), diff --git a/lib/pages/history/controller.dart b/lib/pages/history/controller.dart index 6d6e660e..dd537a1b 100644 --- a/lib/pages/history/controller.dart +++ b/lib/pages/history/controller.dart @@ -25,7 +25,7 @@ class HistoryController extends GetxController { Future queryHistoryList({type = 'init'}) async { int max = 0; int viewAt = 0; - if (type == 'onload') { + if (type == 'onload' && historyList.isNotEmpty) { max = historyList.last.history!.oid!; viewAt = historyList.last.viewAt!; } diff --git a/lib/pages/search_panel/widgets/media_bangumi_panel.dart b/lib/pages/search_panel/widgets/media_bangumi_panel.dart index 17ab19dc..b59f9906 100644 --- a/lib/pages/search_panel/widgets/media_bangumi_panel.dart +++ b/lib/pages/search_panel/widgets/media_bangumi_panel.dart @@ -32,19 +32,13 @@ Widget searchBangumiPanel(BuildContext context, ctr, loadingState) { var i = loadingState.response[index]; return InkWell( onTap: () { - /// TODO 番剧详情页面 - // Get.toNamed('/video?bvid=${i.bvid}&cid=${i.cid}', arguments: { - // 'videoItem': i, - // 'heroTag': Utils.makeHeroTag(i.id), - // 'videoType': SearchType.media_bangumi - // }); + Utils.viewBangumi(seasonId: i.seasonId); }, child: Padding( - padding: const EdgeInsets.fromLTRB( - StyleString.safeSpace, - StyleString.safeSpace, - StyleString.safeSpace, - 2), + padding: const EdgeInsets.symmetric( + horizontal: StyleString.safeSpace, + vertical: StyleString.cardSpace, + ), child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -127,57 +121,6 @@ Widget searchBangumiPanel(BuildContext context, ctr, loadingState) { Text(i.indexShow, style: style), ], ), - const SizedBox(height: 18), - SizedBox( - height: 32, - child: ElevatedButton( - onPressed: () async { - Utils.viewBangumi(seasonId: i.seasonId); - // SmartDialog.showLoading(msg: '获取中...'); - // var res = await SearchHttp.bangumiInfo( - // seasonId: i.seasonId); - // SmartDialog.dismiss().then((value) { - // if (res['status']) { - // EpisodeItem episode = - // res['data'].episodes.first; - // int? epId = res['data'] - // .userStatus - // ?.progress - // ?.lastEpId; - // if (epId == null) { - // epId = episode.epId; - // } else { - // for (var item - // in res['data'].episodes) { - // if (item.epId == epId) { - // episode = item; - // break; - // } - // } - // } - // String bvid = episode.bvid!; - // int cid = episode.cid!; - // String pic = episode.cover!; - // String heroTag = - // Utils.makeHeroTag(cid); - // Get.toNamed( - // '/video?bvid=$bvid&cid=$cid&seasonId=${i.seasonId}&epId=$epId', - // arguments: { - // 'pic': pic, - // 'heroTag': heroTag, - // 'videoType': - // SearchType.media_bangumi, - // 'bangumiItem': res['data'], - // }, - // ); - // } else { - // SmartDialog.showToast(res['msg']); - // } - // }); - }, - child: const Text('观看'), - ), - ), ], ), ), diff --git a/lib/utils/storage.dart b/lib/utils/storage.dart index 686c2354..d375ab31 100644 --- a/lib/utils/storage.dart +++ b/lib/utils/storage.dart @@ -24,7 +24,7 @@ class GStorage { static late final Box video; static List> get blockSettings { - List list = setting.get( + List list = setting.get( SettingBoxKey.blockSettings, defaultValue: List.generate(SegmentType.values.length, (_) => 1), ); @@ -37,7 +37,7 @@ class GStorage { } static List get blockColor { - List list = setting.get( + List list = setting.get( SettingBoxKey.blockColor, defaultValue: List.generate(SegmentType.values.length, (_) => ''), );