Skip to content

Instantly share code, notes, and snippets.

View magicleon94's full-sized avatar

Antonello Galipò magicleon94

View GitHub Profile
@magicleon94
magicleon94 / home_route_handler.dart
Created September 1, 2020 09:00
Home route handler
import 'package:corona_italy/app/dependencies/dependency_provider.dart';
import 'package:corona_italy/features/infection_report/bloc/national/national_report_bloc.dart';
import 'package:corona_italy/features/infection_report/bloc/regional/regional_report_bloc.dart';
import 'package:corona_italy/features/infection_report/presentation/screens/home_screen.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:route_handler/route_handler.dart';
class HomeRouteHandler extends RouteHandler {
HomeRouteHandler(RouteSettings settings) : super(settings);
@magicleon94
magicleon94 / closable_bloc.dart
Created September 1, 2020 08:05
Closable Bloc
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
abstract class ClosableBloc<E, S> extends Bloc<E, S> {
var closed = false;
ClosableBloc(S initialState) : super(initialState);
@override
@mustCallSuper
Future<void> close() {
@magicleon94
magicleon94 / regional_report_bloc.dart
Created September 1, 2020 07:57
Regional report bloc
import 'package:corona_italy/common/closable_bloc.dart';
import 'package:corona_italy/features/infection_report/bloc/regional/regional_report_bloc_event.dart';
import 'package:corona_italy/features/infection_report/bloc/regional/regional_report_bloc_state.dart';
import 'package:corona_italy/features/infection_report/model/regional/regional_report_request.dart';
import 'package:corona_italy/features/infection_report/model/regional/regional_report_vm.dart';
import 'package:corona_italy/features/infection_report/service/infections_report_service.dart';
class RegionalReportBloc
extends ClosableBloc<RegionalReportBlocEvent, RegionalReportState> {
final InfectionsReportService service;
@magicleon94
magicleon94 / regional_report_bloc_event.dart
Created August 28, 2020 14:08
regional_report_bloc_event.dart
import 'package:corona_italy/features/infection_report/bloc/infection_report_bloc_event.dart';
abstract class RegionalReportBlocEvent extends InfectionReportBlocEvent {}
class RegionalReportFetch extends RegionalReportBlocEvent {}
@magicleon94
magicleon94 / regional_report_bloc_state.dart
Last active August 28, 2020 14:12
regional_report_bloc_state.dart
import 'package:corona_italy/features/infection_report/bloc/infection_report_bloc_state.dart';
import 'package:corona_italy/features/infection_report/model/regional/regional_report_vm.dart';
abstract class RegionalReportState extends InfectionReportBlocState {}
class RegionalReportIdle extends RegionalReportState {}
class RegionalReportLoading extends RegionalReportState {}
class RegionalReportLoaded extends RegionalReportState {
@magicleon94
magicleon94 / flare_animation_widget.dart
Created August 25, 2020 07:10
Change Flare animation's colors
import 'package:flare_dart/math/mat2d.dart';
import 'package:flare_flutter/flare.dart';
import 'package:flare_flutter/flare_actor.dart';
import 'package:flare_flutter/flare_controller.dart';
import 'package:flutter/material.dart';
class FlareAnimationWidget extends StatefulWidget {
final Color fillColor;
final Color strokeColor;
@magicleon94
magicleon94 / autocomplete_bloc.dart
Created July 29, 2020 08:38
BLoC to BLoC communication example
class AutocompleteQuery {
final String query;
final LatLng location;
final double radius;
AutocompleteQuery(this.query, {this.location, this.radius = 3000});
}
class AutocompleteBloc extends BlocBase {
final _autocompletePlacesInputSubject = PublishSubject<AutocompleteQuery>();
@magicleon94
magicleon94 / main.dart
Created July 16, 2020 07:50
Flutter FutureBuilder with Completer example
import 'package:flutter/material.dart';
import 'dart:async';
final Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@magicleon94
magicleon94 / auth_manager.dart
Created July 15, 2020 10:40
abstract auth manager with conditionall imports - for medium article
import 'auth0_manager_stub.dart'
if (dart.library.io) 'auth0_manager.dart'
if (dart.library.js) 'auth0_manager_for_web.dart';
abstract class AuthManager {
static AuthManager _instance;
static AuthManager get instance {
_instance ??= getManager();
return _instance;
@magicleon94
magicleon94 / instructions.dart
Created July 15, 2020 10:38
conditional imports update for medium article
//in auth0_manager.dart
AuthManager getManager() => Auth0Manager();
//in auth0_manager_for_web.dart
AuthManager getManager() => Auth0ManagerForWeb();