Files
PiliPlus/lib/pages/dynamics/widgets/dyn_content.dart
My-Responsitories 37fb63c3b1 tweaks (#1252)
* opt: cache

* opt: MediaListPanel

* feat: nested replyreply panel

* tweaks

* opt: abstract class

* opt: PageStorageKey

* opt: contextExt

* opt: EpisodePanel

* opt

* opt: context instead GlobalKey

* feat: jump to reply

* refa: reply_reply

* fix: jump

* fix: index

* update

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* opt: keepalive

* reapply: nested replyreply

* mod: spacing

* opt: CommonSlidePageState

* fix drag bottomsheet

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* opt reply jump

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* opt reply2reply

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* tweaks

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* tweaks

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* reapply: jumpToReply

* fix: padding

* fix: anim

* fix some panels

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* opt: implements Scaffold

* opt: remove keepalive

* revert: GlobalKey

* tweaks

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

---------

Co-authored-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
2025-09-15 18:45:28 +08:00

50 lines
1.4 KiB
Dart

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,
}) {
final moduleDynamic = item.modules.moduleDynamic;
return [
if (item.type != 'DYNAMIC_TYPE_NONE')
content(
context,
theme: theme,
isSave: isSave,
isDetail: isDetail,
item: item,
floor: floor,
maxWidth: maxWidth,
),
module(
context,
theme: theme,
isSave: isSave,
isDetail: isDetail,
item: item,
floor: floor,
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),
];
}