Skip to content

Instantly share code, notes, and snippets.

View magicleon94's full-sized avatar

Antonello Galipò magicleon94

View GitHub Profile
@magicleon94
magicleon94 / auth0_manager_for_web.dart
Created July 15, 2020 09:48
Auth0 for web class - for medium article
import 'auth_manager.dart';
import 'dart:js' as js;
//other imports
class Auth0ManagerForWeb extends AuthManager {
@override
Future<User> login([Map<String, String> authResponse]) async {
//stuff that uses dart:js
}
@magicleon94
magicleon94 / auth0_manager.dart
Last active July 15, 2020 10:01
Auth0 manager for mobile - for medium article
import 'package:flutter_auth0/flutter_auth0.dart';
//other imports
class Auth0Manager extends AuthManager {
@override
Future<User> login([Map<String, String> authResponse]) async {
//stuff that uses classic dart.io
}
@override
Future<User> userFromTokens(String idToken, String accessToken) async {
@magicleon94
magicleon94 / auth0_manager_stub.dart
Created July 15, 2020 10:36
Auth0 conditional import stub - for medium article
import 'auth_manager.dart';
AuthManager getManager() =>
throw UnsupportedError('Cannot create an auth manager');
@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();
@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 / 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 / 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 / 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 / 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 / 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 {}