Skip to content

Instantly share code, notes, and snippets.

@irvine5k
Created July 2, 2020 21:58
Show Gist options
  • Select an option

  • Save irvine5k/006603e91e606c2a379c24fe3c09cdfc to your computer and use it in GitHub Desktop.

Select an option

Save irvine5k/006603e91e606c2a379c24fe3c09cdfc to your computer and use it in GitHub Desktop.
Movies Page
import 'package:flutter/material.dart';
import 'package:flutter_cubit/flutter_cubit.dart';
import 'package:movie_app/src/movies/movie_cubit.dart';
import 'package:movie_app/src/movies/movie_state.dart';
class MoviesPage extends StatefulWidget {
@override
_MoviesPageState createState() => _MoviesPageState();
}
class _MoviesPageState extends State<MoviesPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Trending Movies'),
),
body: CubitBuilder<MoviesCubit, MoviesState>(
builder: (context, state) {
if (state is LoadingState) {
return Center(
child: CircularProgressIndicator(),
);
} else if (state is ErrorState) {
return Center(
child: Icon(Icons.close),
);
} else if (state is LoadedState) {
final movies = state.movies;
return ListView.builder(
itemCount: movies.length,
itemBuilder: (context, index) => Card(
child: ListTile(
title: Text(movies[index].title),
leading: CircleAvatar(
backgroundImage: NetworkImage(movies[index].urlImage),
),
),
),
);
} else {
return Container();
}
},
),
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment