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.
shared/ directory contains widgets that are not tied to a specific feature. They are re-exported from lib/presentation/widgets/widgets.dart so every screen can import them from one place.
CustomAppbar
AStatelessWidget that renders the app’s top navigation bar. It is designed to be embedded inside a SliverAppBar rather than used as a standalone AppBar.
What it renders
- A movie-reel icon (
Icons.movie_outlined) tinted with the primary theme color. - The app name Cinemapedia_220083 in
titleMediumtext style. - A search icon button on the trailing edge (currently a no-op placeholder).
SafeArea(bottom: false) to respect system status-bar insets without adding bottom padding.
Constructor
ThemeData.
Usage
The search button is a visual placeholder. Wiring it to a search screen requires adding an
onPressed handler or refactoring CustomAppbar to accept a callback parameter.Source location
lib/presentation/widgets/shared/custom_appbar.dart
CustomBottomNavigationbar
AStatelessWidget that renders a three-tab BottomNavigationBar for the app’s primary navigation destinations.
Tabs
| Index | Icon | Label |
|---|---|---|
| 0 | Icons.home_max | Inicio |
| 1 | Icons.label_outline | Categoria |
| 2 | Icons.favorite_outline | Favoritos |
Constructor
onTap routing are not yet implemented — the bar is a static layout.
Usage
Source location
lib/presentation/widgets/shared/custom_bottom_navigationbar.dart
FullscreenLoader
AStatelessWidget that fills the screen with a centered loading indicator and a sequence of status messages. It is shown on the home screen while all initial movie data providers are still fetching.
What it renders
- A welcome text: “Bienvenid@ a Cinemapedia 220083”
- A
CircularProgressIndicatorwith stroke width 4. - A
StreamBuilderthat cycles through status messages every 3 seconds.
Loading messages
The internalgetLoadingMessages() method emits the following strings in order, one every 3 seconds, then closes:
- Estableciendo elementos de comunicación
- Conectando a la API de TheMovieDB
- Obteniendo las películas que actualmente se proyectan
- Obteniendo los proximos estrenos
- Obteniendo las peliculas mejor valoradas
- Obteniendo las mejores películas Mexicanas
- Todo listo…comencemos
Constructor
Usage
Source location
lib/presentation/widgets/shared/fullscreen_loader.dart