Skip to content

Instantly share code, notes, and snippets.

View SAGARSURI's full-sized avatar
💭
Building apps with Flutter

SAGAR SURI SAGARSURI

💭
Building apps with Flutter
View GitHub Profile
import '../resources/repository.dart';
import 'package:rxdart/rxdart.dart';
import '../models/item_model.dart';
import 'package:inject/inject.dart';
import 'bloc_base.dart';
class MoviesBloc extends BlocBase {
final Repository _repository;
PublishSubject<ItemModel> _moviesFetcher;
import 'dart:async';
import 'package:rxdart/rxdart.dart';
import '../models/trailer_model.dart';
import '../resources/repository.dart';
import 'bloc_base.dart';
import 'package:inject/inject.dart';
class MovieDetailBloc extends BlocBase {
abstract class BlocBase{
void dispose();
}
import 'package:inject/inject.dart';
import 'bloc_injector.inject.dart' as g;
import '../app.dart';
import 'bloc_module.dart';
@Injector(const [BlocModule])
abstract class BlocInjector{
@provide
App get app;
import 'package:inject/inject.dart';
import '../blocs/movies_bloc.dart';
import '../blocs/movie_detail_bloc.dart';
import '../blocs/bloc_base.dart';
import '../resources/repository.dart';
import '../resources/movie_api_provider.dart';
import 'package:http/http.dart' show Client;
@module
class BlocModule{
openDetailPage(ItemModel data, int index) {
final page = MovieDetailBlocProvider(
child: MovieDetail(
title: data.results[index].title,
posterUrl: data.results[index].backdrop_path,
description: data.results[index].overview,
releaseDate: data.results[index].release_date,
voteAverage: data.results[index].vote_average.toString(),
movieId: data.results[index].id,
),
import 'package:flutter/material.dart';
import 'ui/login.dart';
import 'blocs/goals_bloc_provider.dart';
import 'blocs/login_bloc_provider.dart';
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return LoginBlocProvider(
child: GoalsBlocProvider(
import 'dart:async';
class Bloc {
//Our pizza house
final order = StreamController<String>();
//Our order office
Stream<String> get orderOffice => order.stream.transform(validateOrder);
@override
void dispose() {
bloc.dispose();
super.dispose();
}
@override
void didChangeDependencies() {
bloc = MovieDetailBlocProvider.of(context);
bloc.fetchTrailersById(movieId);
super.didChangeDependencies();
}