Skip to content

Instantly share code, notes, and snippets.

@Meghatronics
Meghatronics / toast.dart
Created July 13, 2023 14:06
Toasts for app
import 'package:flutter/material.dart';
import '../../router/app_navigator.dart';
import '../../utilities/constants.dart/constants.dart';
import '../../utilities/theming/app_styles.dart';
class AppToast {
final String message;
final bool userCanDismiss;
final Duration duration;
@Meghatronics
Meghatronics / app_navigator_observer.dart
Last active May 17, 2023 09:41
This adds a simple navigator observer to your flutter app, and prints activities of the nav in your debug console. Note that there are some more methods in `NavigatorObserver` that were not overridden. You may need to override them, depending on how you use the navigator, however this gist should is sufficient for most popular cases.
import 'dart:collection';
import 'package:flutter/widgets.dart';
class AppNavigatorObserver extends NavigatorObserver {
AppNavigatorObserver._();
static final instance = AppNavigatorObserver._();
final _stack = <Route>[];
UnmodifiableListView<Route> get currentStack => UnmodifiableListView(_stack);
@Meghatronics
Meghatronics / date_input_formatter.dart
Created May 1, 2023 20:25
Date Field input formatter and validator with example
import 'package:flutter/services.dart';
class DateInputFormatter extends TextInputFormatter {
final String separator;
static const _maxLength = 8;
DateInputFormatter({required this.separator});
@override
TextEditingValue formatEditUpdate(
TextEditingValue oldValue, TextEditingValue newValue) {
// Remove any non-numeric characters from the new value
@Meghatronics
Meghatronics / deep_link_service.dart
Created January 14, 2023 21:24
Deep link service with firebase impl
@Meghatronics
Meghatronics / deviceInfo.service.dart
Created October 7, 2021 11:15
Device Info Service
class DeviceInfoData {
final String deviceModel;
final String deviceId;
final String appVersion;
const DeviceInfoData(
{@required this.deviceModel,
@required this.deviceId,
@required this.appVersion});
}
@Meghatronics
Meghatronics / dynamic_link_service.dart
Created July 29, 2021 07:51
A dart service to handle dynamic (deep) linking for flutter apps using firebase.
@Meghatronics
Meghatronics / Sockets.io.dart
Created April 23, 2021 09:24
Chat Manager with socket.io in flutter
import 'dart:async';
import 'package:meta/meta.dart';
import 'package:socket_io_client/socket_io_client.dart' as io;
import '../../data/models/chat_message.dart';
import '../../data/models/room.dart';
class ChatData {
final bool matchIsTyping;
@Meghatronics
Meghatronics / main.dart
Created June 14, 2020 22:50
Sample loader
import 'dart:async';
import 'package:flutter/material.dart';
void main() => runApp(PeekUp());
class PeekUp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
@Meghatronics
Meghatronics / d1430.dart
Created May 15, 2020 01:00
Day 14 30 Days Of Code. Insertion Sort algorithm. Emmanuel.1aliyu@gmail.com
void main() {
List<double> unsortedList = [2, 5, 3, 4, 7.2, 1, 3, 10, 200, 54, 21, 46, 8];
List sortedList = sort(unsortedList);
print(sortedList);
}
///Sorts a list of doubles [unsortedArray] in ascending order.
///
///Takes an unordered list of doubles [unsortedArray] and returns a list of its elements,
///arranged in ascending order.
@Meghatronics
Meghatronics / day330.dart
Last active May 3, 2020 13:07
Day 3 30DaysOfCode May2020 Mobile Beginner MajorE
import 'package:flutter/material.dart';
void main() {
runApp(
MaterialApp(
home: Scaffold(
body: BarnCounter(),
),
),
);