opt dyn panel

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-09-03 13:29:16 +08:00
parent a635767561
commit 04830c7789
22 changed files with 1353 additions and 1426 deletions

View File

@@ -0,0 +1,52 @@
import 'package:PiliPlus/models/dynamics/result.dart';
import 'package:PiliPlus/pages/dynamics/widgets/additional_panel.dart';
import 'package:PiliPlus/pages/dynamics/widgets/blocked_item.dart';
import 'package:PiliPlus/pages/dynamics/widgets/content_panel.dart';
import 'package:PiliPlus/pages/dynamics/widgets/module_panel.dart';
import 'package:flutter/material.dart';
List<Widget> dynContent(
BuildContext context, {
required int floor,
required ThemeData theme,
required DynamicItemModel item,
required bool isSave,
required bool isDetail,
required double maxWidth,
Function(List<String>, int)? callback,
}) {
final moduleDynamic = item.modules.moduleDynamic;
return [
if (item.type != 'DYNAMIC_TYPE_NONE')
content(
context,
theme: theme,
isSave: isSave,
isDetail: isDetail,
item: item,
floor: floor,
callback: callback,
maxWidth: maxWidth,
),
module(
context,
theme: theme,
isSave: isSave,
isDetail: isDetail,
item: item,
floor: floor,
callback: callback,
maxWidth: maxWidth,
),
if (moduleDynamic?.additional case final additional?)
addWidget(
theme: theme,
context,
idStr: item.idStr,
additional: additional,
floor: floor,
),
if (moduleDynamic?.major?.blocked case final blocked?)
blockedItem(theme: theme, blocked: blocked, maxWidth: maxWidth),
];
}