TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/juuaaann456/DMI-Practica06/llms.txt
Use this file to discover all available pages before exploring further.
HomeScreen is the entry point of the app. It combines a CustomScrollView with a SliverAppBar, an auto-playing MovieSlideshow, five MovieHorizontalListview sections, and a CustomBottomNavigationbar.
Layout structure
The screen is composed of two top-level widgets:Scaffold— wraps the scrollable body and the bottom navigation bar._HomeView— aConsumerStatefulWidgetthat triggers data loading on init and reacts to provider state changes.
CustomScrollView and SliverAppBar
The body uses aCustomScrollView with two slivers:
- A floating
SliverAppBarthat hosts theCustomAppbarwidget. - A
SliverListwith a single child that stacks all content sections vertically.
Loading state
Before any content is rendered, the screen checksintialLoadingProvider. This provider returns true as long as any of the five category lists is still empty. While loading, a FullscreenLoader widget is displayed instead of the scroll view.
intialLoadingProvider aggregates the state of all five movie providers:
The loader remains visible until all five categories have returned at least one page of results.
Data loading on init
Data loading is triggered inside_HomeViewState.initState(). Each category provider’s loadNextPage() is called once to fetch page 1:
MovieSlideshow
At the top of the content area,MovieSlideshow displays an auto-playing swipeable banner. It receives the first 6 movies from nowPlayingMoviesProvider via movieSlideShowProvider:
MovieSlideshow widget uses the card_swiper package with autoplay: true, a viewportFraction of 0.8, and dot pagination indicators styled with the active theme colors.
MovieHorizontalListview sections
Below the slideshow, fiveMovieHorizontalListview instances are stacked. Each receives:
| Prop | Type | Description |
|---|---|---|
movies | List<Movie> | The list of movies to display |
title | String? | Section heading shown on the left |
subTitle | String? | Secondary label shown on the right as a tonal button |
loadNextPage | VoidCallback? | Called when the list is scrolled near the end |
/movie/:id.
CustomBottomNavigationbar
TheCustomBottomNavigationbar renders a standard BottomNavigationBar with three items:
The bottom navigation bar is currently a static widget. Tab switching logic has not yet been implemented.