Skip to content

Instantly share code, notes, and snippets.

View magicleon94's full-sized avatar

Antonello Galipò magicleon94

View GitHub Profile
@magicleon94
magicleon94 / ReadSoilHumidity.ino
Created August 12, 2022 16:22
Read soil humidity and enable a water pump to give water
// Calibration values
const int AIR_VALUE = 831;
const int WATER_VALUE = 434;
// Pin values
const int SOIL = A0;
const int PUMP = 1;
// Thresholds & time intervals
@magicleon94
magicleon94 / main.dart
Last active January 21, 2024 17:08
Flutter hooks playground
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
@magicleon94
magicleon94 / animated_map_controller.dart
Created January 15, 2021 11:31
Animated map controller for the flutter_map plugin
// use this as a MapController for https://pub.dev/packages/flutter_map
import 'package:flutter/material.dart';
import 'package:flutter_map/flutter_map.dart';
import 'package:flutter_map/plugin_api.dart';
import 'package:latlong/latlong.dart';
class AnimatedMapController extends MapControllerImpl {
final TickerProvider tickerProvider;
MapStateWrapper _stateWrapper;
@magicleon94
magicleon94 / sliding_overflow.dart
Last active December 22, 2020 12:52
Sliding overflow: slides a long widget (like a text)
import 'dart:math';
import 'package:flutter/material.dart';
class SlidingOverflow extends StatefulWidget {
final Widget child;
const SlidingOverflow({Key key, this.child}) : super(key: key);
@override
_SlidingOverflowState createState() => _SlidingOverflowState();
@magicleon94
magicleon94 / main.dart
Created October 9, 2020 16:05
Flutter Navigator 2.0 + Notification test
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
@magicleon94
magicleon94 / auth_bloc.dart
Last active October 1, 2020 10:06
Authentication Bloc: simple structure for having an auth BLoC with different flavors. Firebase flavor implemented for now. Only email/password auth for now.
import 'package:bloc/bloc.dart';
import 'package:my_app/features/auth/model/user.dart';
import 'package:meta/meta.dart';
part 'auth_event.dart';
part 'auth_state.dart';
abstract class AuthBloc extends Bloc<AuthEvent, AuthState> {
AuthBloc([AuthState initialState]) : super(initialState ?? AuthInitial());
}
@magicleon94
magicleon94 / infections_map.dart
Last active September 1, 2020 10:06
InfectionsMap
import 'dart:ui';
import 'package:corona_italy/features/infection_report/bloc/regional/regional_report_bloc.dart';
import 'package:corona_italy/features/infection_report/bloc/regional/regional_report_bloc_state.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_map/flutter_map.dart';
import 'package:latlong/latlong.dart';
@magicleon94
magicleon94 / regions_report_list.dart
Last active September 1, 2020 09:48
RegionsReportList
import 'package:corona_italy/features/infection_report/bloc/regional/regional_report_bloc.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_vm.dart';
import 'package:corona_italy/features/infection_report/presentation/widgets/report_preview_list_tile.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class RegionsReportList extends StatelessWidget {
final ScrollController scrollController;
@magicleon94
magicleon94 / home_panel.dart
Created September 1, 2020 09:43
HomePanel
import 'package:corona_italy/features/infection_report/presentation/widgets/national_report_widget.dart';
import 'package:corona_italy/features/infection_report/presentation/widgets/regions_report_list.dart';
import 'package:flutter/material.dart';
class HomePanel extends StatelessWidget {
final ScrollController scrollController;
const HomePanel({Key key, this.scrollController}) : super(key: key);
@override
Widget build(BuildContext context) {
@magicleon94
magicleon94 / home_screen.dart
Created September 1, 2020 09:16
HomeScreen
import 'package:corona_italy/features/infection_report/bloc/national/national_report_bloc.dart';
import 'package:corona_italy/features/infection_report/bloc/national/national_report_bloc_event.dart';
import 'package:corona_italy/features/infection_report/bloc/regional/regional_report_bloc.dart';
import 'package:corona_italy/features/infection_report/bloc/regional/regional_report_bloc_event.dart';
import 'package:corona_italy/features/infection_report/presentation/widgets/home_panel.dart';
import 'package:corona_italy/features/infection_report/presentation/widgets/infections_map.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:sliding_up_panel/sliding_up_panel.dart';