Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-07-30 13:53:37 +08:00
parent b5b15dbed6
commit c4c0852dea
105 changed files with 2063 additions and 1360 deletions

View File

@@ -2,6 +2,7 @@ import 'package:PiliPlus/common/widgets/button/icon_button.dart';
import 'package:PiliPlus/common/widgets/dialog/dialog.dart';
import 'package:PiliPlus/common/widgets/keep_alive_wrapper.dart';
import 'package:PiliPlus/common/widgets/loading_widget/loading_widget.dart';
import 'package:PiliPlus/common/widgets/scaffold/simple_scaffold.dart';
import 'package:PiliPlus/common/widgets/scroll_physics.dart' show tabBarView;
import 'package:PiliPlus/models/common/dm_block_type.dart';
import 'package:PiliPlus/models/user/danmaku_block.dart';
@@ -25,6 +26,7 @@ class DanmakuBlockPage extends StatefulWidget {
class _DanmakuBlockPageState extends State<DanmakuBlockPage> {
final DanmakuBlockController _controller = Get.put(DanmakuBlockController());
late PlPlayerController plPlayerController;
late EdgeInsets padding;
@override
void initState() {
@@ -32,6 +34,12 @@ class _DanmakuBlockPageState extends State<DanmakuBlockPage> {
plPlayerController = Get.arguments as PlPlayerController;
}
@override
void didChangeDependencies() {
super.didChangeDependencies();
padding = MediaQuery.viewPaddingOf(context);
}
@override
void dispose() {
final ruleFilter = RuleFilter.fromRuleTypeEntries(_controller.rules);
@@ -42,8 +50,7 @@ class _DanmakuBlockPageState extends State<DanmakuBlockPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
resizeToAvoidBottomInset: false,
return SimpleScaffold(
appBar: AppBar(
title: const Text('弹幕屏蔽'),
bottom: TabBar(
@@ -71,11 +78,18 @@ class _DanmakuBlockPageState extends State<DanmakuBlockPage> {
)
.toList(),
),
floatingActionButton: FloatingActionButton(
tooltip: '添加',
onPressed: () =>
_showAddDialog(DmBlockType.values[_controller.tabController.index]),
child: const Icon(Icons.add),
fab: Padding(
padding: .only(
right: kFloatingActionButtonMargin + padding.right,
bottom: kFloatingActionButtonMargin + padding.bottom,
),
child: FloatingActionButton(
tooltip: '添加',
onPressed: () => _showAddDialog(
DmBlockType.values[_controller.tabController.index],
),
child: const Icon(Icons.add),
),
),
);
}
@@ -86,9 +100,7 @@ class _DanmakuBlockPageState extends State<DanmakuBlockPage> {
}
return ListView.builder(
itemCount: list.length,
padding: EdgeInsets.only(
bottom: MediaQuery.viewPaddingOf(context).bottom + 100,
),
padding: .only(bottom: padding.bottom + 100),
itemBuilder: (context, itemIndex) {
final SimpleRule item = list[itemIndex];
final child = iconButton(