Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-08-17 17:41:08 +08:00
parent ab610e9da5
commit 470545337d
6 changed files with 101 additions and 112 deletions

View File

@@ -17,6 +17,29 @@ mixin DynMixin {
callback: (value) => maxWidth = value,
);
Widget buildPage(Widget child) {
if (GlobalData().dynamicsWaterfallFlow) {
return child;
}
return SliverLayoutBuilder(
builder: (context, constraints) {
final maxWidth = constraints.crossAxisExtent;
final cardWidth = Grid.smallCardWidth * 2;
final flag = cardWidth < maxWidth;
this.maxWidth = flag ? cardWidth : maxWidth;
if (!flag) {
return child;
}
return SliverPadding(
padding: EdgeInsets.symmetric(
horizontal: (maxWidth - cardWidth) / 2,
),
sliver: child,
);
},
);
}
late final skeDelegate = SliverGridDelegateWithExtentAndRatio(
crossAxisSpacing: 4,
mainAxisSpacing: 4,
@@ -33,18 +56,9 @@ mixin DynMixin {
itemCount: 10,
);
}
return SliverCrossAxisGroup(
slivers: [
const SliverFillRemaining(),
SliverConstrainedCrossAxis(
maxExtent: Grid.smallCardWidth * 2,
sliver: SliverList.builder(
itemBuilder: (_, _) => const DynamicCardSkeleton(),
itemCount: 10,
),
),
const SliverFillRemaining(),
],
return SliverList.builder(
itemBuilder: (_, _) => const DynamicCardSkeleton(),
itemCount: 10,
);
}
}