See how a minor change to your commit message style can make you a better programmer.
Format: <type>(<scope>): <subject>
<scope> is optional
| class DetailPage extends StatelessWidget { | |
| final String image; | |
| final int id; | |
| DetailPage({@required this.id, @required this.image}); | |
| @override | |
| Widget build(BuildContext context) { | |
| return Scaffold( | |
| appBar: AppBar(), |
| /** | |
| * Crop a image taking a recerence a view parent like a frame, and a view child like final | |
| * reference | |
| * | |
| * @param bitmap image to crop | |
| * @param frame where the image is set it | |
| * @param reference frame to take reference for crop the image | |
| * @return image already cropped | |
| */ | |
| public static byte[] cropImage(Bitmap bitmap, View frame, View reference){ |
| package com.nezspencer.test | |
| import android.os.Bundle | |
| import android.support.annotation.NonNull | |
| import android.support.v7.app.AppCompatActivity | |
| import android.text.Editable | |
| import android.text.TextUtils | |
| import android.text.TextWatcher | |
| import android.widget.EditText | |
| import java.text.NumberFormat |
| import 'package:flutter/material.dart'; | |
| import 'package:flutter_modularization/widget/movie_detail_header.dart'; | |
| import 'package:flutter_modularization/widget/story_line.dart'; | |
| class DetailPage extends StatelessWidget { | |
| final List<Widget> genre; | |
| final String title; | |
| final String imageBanner; | |
| final String imagePoster; |
| Widget getListMovie() { | |
| return Container( | |
| child: Center( | |
| child: StreamBuilder( | |
| stream: bloc.allMovie, | |
| builder: (context, AsyncSnapshot<Movie> snapshot) { | |
| if (snapshot.hasData) { | |
| return showListMovie(snapshot); | |
| } else if (snapshot.hasError) { | |
| return Text(snapshot.error.toString(), style: TextStyle(color: Color.fromRGBO(58, 66, 86, 1.0)),); |
| Widget showListMovie(AsyncSnapshot<Movie> snapshot) { | |
| return ListView.builder( | |
| itemCount: snapshot == null ? 0 : snapshot.data.results.length, | |
| itemBuilder: (BuildContext context, int index) { | |
| return GestureDetector( | |
| child: CardListMovies( | |
| image: 'https://image.tmdb.org/t/p/w185${snapshot.data.results[index].posterPath}', | |
| title: snapshot.data.results[index].title, | |
| vote: snapshot.data.results[index].voteAverage, | |
| releaseDate: snapshot.data.results[index].releaseDate, |
| import 'package:flutter/material.dart'; | |
| import 'package:flutter_modularization/ui/detail_page.dart'; | |
| import 'package:flutter_modularization/widget/card_list_movie.dart'; | |
| import 'package:flutter_modularization/widget/chip_genre_movie.dart'; | |
| import 'package:network/network.dart'; | |
| import 'package:bloc/bloc.dart'; | |
| class HomePage extends StatefulWidget { | |
| final String title; |
| import 'package:flutter/material.dart'; | |
| import 'package:flutter_modularization/widget/arc_banner_image.dart'; | |
| import 'package:flutter_modularization/widget/poster.dart'; | |
| import 'package:flutter_modularization/widget/rating_information.dart'; | |
| class MovieDetailHeader extends StatelessWidget { | |
| final List<Widget> genre; | |
| final String title; | |
| final String imageBanner; |
| // poster | |
| return Stack( | |
| children: [ | |
| Padding( | |
| padding: EdgeInsets.only(bottom: 140.0), | |
| child: ArcBannerImage(imageBanner), | |
| ), | |
| Positioned( | |
| bottom: 0.0, | |
| left: 16.0, |