Skip to content

Instantly share code, notes, and snippets.

View felangel's full-sized avatar
coding

Felix Angelov felangel

coding
View GitHub Profile
@felangel
felangel / main.dart
Created July 9, 2019 02:42
[flutter_bloc_0.19.0] Repository Provider default constructor
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return RepositoryProvider(
builder: (context) => MyRepository(),
child: MyChild(),
);
}
}
@felangel
felangel / main.dart
Created July 9, 2019 02:29
[flutter_bloc_0.19.0] BlocProvider value constructor
Navigator.of(context).push(
MaterialPageRoute<MyPage>(
builder: (context) {
return BlocProvider.value(
value: BlocProvider.of<MyBloc>(context),
child: MyPage(),
);
},
),
);
@felangel
felangel / main.dart
Created July 9, 2019 02:21
[flutter_bloc_0.19.0] Old BlocProvider
class MyWidget extends StatefulWidget {
State<MyWidget> createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
MyBloc _myBloc;
@override
void initState() {
super.initState();
@felangel
felangel / main.dart
Last active July 9, 2019 02:22
[flutter_bloc_0.19.0] BlocProvider Default Constructor
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return BlocProvider(
builder: (BuildContext context) => MyBloc(),
child: MyChild(),
);
}
}
@felangel
felangel / main.dart
Created June 26, 2019 02:52
Flutter Bloc Stepper
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:bloc/bloc.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:equatable/equatable.dart';
abstract class StepperEvent extends Equatable {
StepperEvent([List props = const []]) : super(props);
}
@felangel
felangel / weather_bloc.dart
Created June 18, 2019 05:40
[flutter_bloc_hydrated_weather] WeatherBloc
class WeatherBloc extends HydratedBloc<WeatherEvent, WeatherState> {
final WeatherRepository weatherRepository;
WeatherBloc({@required this.weatherRepository})
: assert(weatherRepository != null);
@override
WeatherState get initialState => super.initialState ?? WeatherEmpty();
@override
@felangel
felangel / theme_bloc.dart
Created June 18, 2019 05:39
[flutter_bloc_hydrated_weather] ThemeBloc
class ThemeBloc extends HydratedBloc<ThemeEvent, ThemeState> {
@override
ThemeState get initialState =>
super.initialState ??
ThemeState(
theme: ThemeData.light(),
color: Colors.lightBlue,
);
@override
@felangel
felangel / settings_bloc.dart
Created June 18, 2019 05:36
[flutter_bloc_hydrated_weather] SettingsBloc
class SettingsBloc extends HydratedBloc<SettingsEvent, SettingsState> {
@override
SettingsState get initialState =>
super.initialState ??
SettingsState(temperatureUnits: TemperatureUnits.celsius);
@override
Stream<SettingsState> mapEventToState(SettingsEvent event) async* {
if (event is TemperatureUnitsToggled) {
yield SettingsState(
@felangel
felangel / main.dart
Created June 18, 2019 05:34
[flutter_bloc_hydrated_weather] Simple HydratedBlocDelegate initialization
import 'package:bloc/bloc.dart';
import 'package:hydrated_bloc/hydrated_bloc.dart';
void main() async {
BlocSupervisor.delegate = await HydratedBlocDelegate.build();
...
}
@felangel
felangel / main.dart
Created June 18, 2019 05:32
[flutter_bloc_hydrated_weather] Setting SimpleBlocDelegate
import 'package:bloc/bloc.dart';
import 'package:hydrated_bloc/hydrated_bloc.dart';
void main() async {
BlocSupervisor.delegate = SimpleBlocDelegate(
await HydratedBlocStorage.getInstance(),
);
...
}