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 February 14, 2020 17:14
bloc + combineLatest
import 'dart:async';
import 'package:bloc/bloc.dart';
import 'package:rxdart/rxdart.dart';
enum CounterEvent { increment }
class CounterBloc extends Bloc<CounterEvent, int> {
@override
int get initialState => 0;
@felangel
felangel / main.dart
Created October 6, 2021 15:54
[flutter_bloc_recipes] Navigation: Navigator 2.0
import 'package:bloc/bloc.dart';
import 'package:equatable/equatable.dart';
import 'package:flow_builder/flow_builder.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class Book extends Equatable {
const Book(this.title, this.author);
final String title;
@felangel
felangel / main.dart
Last active December 27, 2022 08:47
Recipe: Bloc Access (Named Routes)
import 'package:flutter/material.dart';
import 'package:bloc/bloc.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class SimpleBlocDelegate extends BlocDelegate {
@override
void onEvent(Bloc bloc, Object event) {
super.onEvent(bloc, event);
print(event);
}
@felangel
felangel / _middleware.dart
Last active December 16, 2022 17:44
Dart Frog Catch All Middleware
import 'package:dart_frog/dart_frog.dart';
Handler middleware(Handler handler) {
return Cascade().add(handler).add(catchAll).handler;
}
Response catchAll(RequestContext context) => Response(body: 'Catch All');
@felangel
felangel / main.dart
Last active December 16, 2022 17:40
Dart Frog Catch All Handler Custom Entrypoint
import 'dart:io';
import 'package:dart_frog/dart_frog.dart';
Future<HttpServer> run(Handler handler, InternetAddress ip, int port) {
final cascade = Cascade().add(handler).add(catchAll);
return serve(cascade.handler, ip, port);
}
Response catchAll(RequestContext context) => Response(body: 'Catch All');
@felangel
felangel / main.dart
Created December 14, 2022 16:00
Dart Frog Trackable Static Files
import 'dart:io';
import 'package:dart_frog/dart_frog.dart';
Future<HttpServer> run(Handler handler, InternetAddress ip, int port) {
final cascade = Cascade().add(trackableStaticFileHandler).add(handler);
return serve(cascade.handler, ip, port);
}
Future<Response> trackableStaticFileHandler(RequestContext context) async {
@felangel
felangel / main.dart
Created December 13, 2019 00:09
[flutter_bloc] Location Stream Example
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:bloc/bloc.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:meta/meta.dart';
import 'package:geolocator/geolocator.dart';
void main() => runApp(MyApp());
@felangel
felangel / starship.toml
Created January 20, 2022 23:05
Starship Config 🚀🌟
format = "$all"
add_newline = true
[character]
success_symbol="[\\$](bold bright-red)"
error_symbol = "[✖](bold bright-red)"
[battery]
full_symbol = "🔋"
@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 / main.dart
Last active September 13, 2021 21:37
Recipe: Bloc Access (Global)
import 'package:flutter/material.dart';
import 'package:bloc/bloc.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class SimpleBlocObserver extends BlocObserver {
@override
void onEvent(Bloc bloc, Object event) {
super.onEvent(bloc, event);
print(event);
}