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
Last active September 13, 2021 21:33
[flutter_bloc_recipes] Show SnackBar
import 'package:flutter/material.dart';
import 'package:bloc/bloc.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:meta/meta.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
@felangel
felangel / main.dart
Last active May 11, 2021 13:36
showDialog sample
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:bloc/bloc.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@felangel
felangel / main.dart
Created March 9, 2019 05:57
flutter_contacts sample
import 'dart:async';
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:bloc/bloc.dart';
import 'package:contacts_service/contacts_service.dart';
import 'package:permission_handler/permission_handler.dart';
class ContactItem {
ContactItem(this.cont, this.selected);
@felangel
felangel / todos_state.dart
Created March 15, 2019 00:36
[flutter_todos] todos state
import 'package:equatable/equatable.dart';
import 'package:meta/meta.dart';
import 'package:flutter_todos/models/models.dart';
@immutable
abstract class TodosState extends Equatable {
TodosState([List props = const []]) : super(props);
}
class TodosLoading extends TodosState {
@felangel
felangel / login_form.dart
Last active January 7, 2021 01:58
[flutter_login] Login Form
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_login/authentication/authentication.dart';
import 'package:flutter_login/login/login.dart';
class LoginForm extends StatefulWidget {
final LoginBloc loginBloc;
final AuthenticationBloc authenticationBloc;
@felangel
felangel / login_state.dart
Last active November 5, 2020 11:57
[bloc_package] LoginState
class LoginState {
final bool isLoading;
final bool isLoginButtonEnabled;
final String error;
final String token;
const LoginState({
@required this.isLoading,
@required this.isLoginButtonEnabled,
@required this.error,
@felangel
felangel / home_page.dart
Last active November 5, 2020 11:52
[flutter_login] Home Page
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_login/authentication/authentication.dart';
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
final AuthenticationBloc authenticationBloc =
@felangel
felangel / main.dart
Created November 14, 2019 02:58
Equatable HashCode Sample
import './point1.dart' as point1;
import './point2.dart' as point2;
void main() {
final p1 = point1.Point();
final p2 = point2.Point();
print(p1 == p2); // false
print(p1.hashCode == p2.hashCode); // false
}
@felangel
felangel / main.dart
Last active June 19, 2020 00:05
StatefulRebuilder
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
debugShowCheckedModeBanner: false,
@felangel
felangel / main.dart
Created June 18, 2020 23:17
StatefulWidget demo
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
debugShowCheckedModeBanner: false,