🐛 Fix post item width issue

This commit is contained in:
LittleSheep 2025-02-11 21:35:53 +08:00
parent b3254e0f2f
commit 9b84e912b2
2 changed files with 36 additions and 36 deletions

View File

@ -261,17 +261,15 @@ class _ExploreScreenState extends State<ExploreScreen> {
hasReachedMax: _postCount != null && _posts.length >= _postCount!, hasReachedMax: _postCount != null && _posts.length >= _postCount!,
onFetchData: _fetchPosts, onFetchData: _fetchPosts,
itemBuilder: (context, idx) { itemBuilder: (context, idx) {
return Center( return OpenablePostItem(
child: OpenablePostItem( data: _posts[idx],
data: _posts[idx], maxWidth: 640,
maxWidth: 640, onChanged: (data) {
onChanged: (data) { setState(() => _posts[idx] = data);
setState(() => _posts[idx] = data); },
}, onDeleted: () {
onDeleted: () { _refreshPosts();
_refreshPosts(); },
},
),
); );
}, },
separatorBuilder: (_, __) => const Gap(8), separatorBuilder: (_, __) => const Gap(8),

View File

@ -69,32 +69,34 @@ class OpenablePostItem extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
final cfg = context.read<ConfigProvider>(); final cfg = context.read<ConfigProvider>();
return OpenContainer( return Center(
closedBuilder: (_, __) => Container( child: OpenContainer(
constraints: BoxConstraints(maxWidth: maxWidth ?? double.infinity), closedBuilder: (_, __) => Container(
child: PostItem( constraints: BoxConstraints(maxWidth: maxWidth ?? double.infinity),
data: data, child: PostItem(
maxWidth: maxWidth, data: data,
showComments: showComments, maxWidth: maxWidth,
showFullPost: showFullPost, showComments: showComments,
onChanged: onChanged, showFullPost: showFullPost,
onDeleted: onDeleted, onChanged: onChanged,
onSelectAnswer: onSelectAnswer, onDeleted: onDeleted,
), onSelectAnswer: onSelectAnswer,
),
openBuilder: (_, close) => PostDetailScreen(
slug: data.id.toString(),
preload: data,
onBack: close,
),
openColor: Colors.transparent,
openElevation: 0,
transitionType: ContainerTransitionType.fade,
closedColor: Theme.of(context).colorScheme.surfaceContainerLow.withOpacity(
cfg.prefs.getBool(kAppBackgroundStoreKey) == true ? 0.75 : 1,
), ),
closedShape: const RoundedRectangleBorder( ),
borderRadius: BorderRadius.all(Radius.circular(16)), openBuilder: (_, close) => PostDetailScreen(
slug: data.id.toString(),
preload: data,
onBack: close,
),
openColor: Colors.transparent,
openElevation: 0,
transitionType: ContainerTransitionType.fade,
closedColor: Theme.of(context).colorScheme.surfaceContainerLow.withOpacity(
cfg.prefs.getBool(kAppBackgroundStoreKey) == true ? 0.75 : 1,
),
closedShape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(16)),
),
), ),
); );
} }