Skip to content

Commit

Permalink
Merge pull request #306 from andannn/change_movie_layout
Browse files Browse the repository at this point in the history
change movie layout
  • Loading branch information
andannn authored Jan 7, 2025
2 parents 5174761 + eb9e7d4 commit a68b7d9
Showing 1 changed file with 61 additions and 55 deletions.
116 changes: 61 additions & 55 deletions lib/feature/discover/recent_movies/recent_movies.dart
Original file line number Diff line number Diff line change
Expand Up @@ -77,68 +77,74 @@ class RecentMoviesWidget extends StatelessWidget {
final screenWidth = constrains.maxWidth;
final imageWidth = min(screenWidth * 0.7, maxMovieImageWidth);
final imageHeight = imageWidth / imageAspectRadio;
final viewportFraction = imageWidth / screenWidth;
final totalHeight = imageHeight + 50;

return SizedBox(
height: totalHeight,
child: PageView.builder(
controller: PageController(
viewportFraction: viewportFraction,
initialPage: movies.length > 1 ? 1 : 0,
),
itemCount: movies.length,
itemBuilder: (context, index) {
final model = movies[index];
return Column(
mainAxisSize: MainAxisSize.max,
children: [
Card.filled(
clipBehavior: Clip.antiAlias,
child: InkWell(
onTap: () {
RootRouterDelegate.get()
.navigateToDetailMedia(model.id);
},
child: AspectRatio(
aspectRatio: imageAspectRadio,
child: AFNetworkImage(
imageUrl: model.coverImage?.extraLarge ?? '',
),
),
Widget itemBuilder(BuildContext context, int index) {
final model = movies[index];
return Column(
mainAxisSize: MainAxisSize.max,
children: [
Card.filled(
clipBehavior: Clip.antiAlias,
child: InkWell(
onTap: () {
RootRouterDelegate.get().navigateToDetailMedia(model.id);
},
child: AspectRatio(
aspectRatio: imageAspectRadio,
child: AFNetworkImage(
imageUrl: model.coverImage?.extraLarge ?? '',
),
),
const SizedBox(height: 5),
Flexible(
flex: 1,
child: Center(
child: Opacity(
opacity: 0.7,
child: AutoSizeText(
model.title?.getTitle(titleLanguage) ?? '',
maxLines: 1,
textAlign: TextAlign.center,
),
),
),
),
const SizedBox(height: 5),
Flexible(
flex: 1,
child: Center(
child: Opacity(
opacity: 0.7,
child: AutoSizeText(
model.title?.getTitle(titleLanguage) ?? '',
maxLines: 1,
textAlign: TextAlign.center,
),
),
Flexible(
flex: 1,
child: Center(
child: Opacity(
opacity: 0.7,
child: model.startDate != null
? AutoSizeText(
context.materialLocal
.formatMediumDate(model.startDate!),
)
: const SizedBox(),
),
),
),
),
Flexible(
flex: 1,
child: Center(
child: Opacity(
opacity: 0.7,
child: model.startDate != null
? AutoSizeText(
context.materialLocal
.formatMediumDate(model.startDate!),
)
: const SizedBox(),
),
],
);
},
),
),
],
);
}

return SizedBox(
height: totalHeight,
child: CustomScrollView(
scrollDirection: Axis.horizontal,
slivers: [
SliverList.builder(
itemCount: movies.length,
itemBuilder: (context, index) {
return SizedBox(
width: imageWidth.toDouble(),
child: itemBuilder(context, index),
);
},
)
],
),
);
}),
Expand Down

0 comments on commit a68b7d9

Please sign in to comment.