Skip to content

Instantly share code, notes, and snippets.

View chimon2000's full-sized avatar

Ryan chimon2000

View GitHub Profile
@chimon2000
chimon2000 / main.dart
Last active December 2, 2023 17:10
GoRouter sample
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:math' as math;
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:english_words/english_words.dart';
@chimon2000
chimon2000 / main.dart
Created December 2, 2023 17:08
GoRouter sample
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:math' as math;
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:english_words/english_words.dart';
@chimon2000
chimon2000 / main.dart
Created November 1, 2023 17:55
tangled-marble-2871
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter_riverpod/flutter_riverpod.dart';
final testStreamProvider = StreamProvider<int>((ref) {
return Stream.periodic(const Duration(seconds: 2), (count) {
return count;
});
});
@chimon2000
chimon2000 / dart.json
Created August 23, 2023 15:24
Riverpod snippets
{
"Async Details Screen": {
"prefix": "ads",
"body": [
"import 'package:flutter/material.dart';",
"import 'package:flutter_riverpod/flutter_riverpod.dart';",
"",
"class ${1:Example}Screen extends ConsumerWidget {",
" const ${1:Example}Screen({",
" super.key,",
@chimon2000
chimon2000 / main.dart
Last active May 3, 2023 18:58
Counter Notifier
import 'package:flutter/material.dart';
void main() => runApp(CounterApp());
class CounterApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
debugShowCheckedModeBanner: false,
@chimon2000
chimon2000 / main.dart
Created May 9, 2022 07:07
Riverpod Countdown
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
void main() {
runApp(const ProviderScope(child: MyApp()));
}
class MyApp extends StatelessWidget {
@chimon2000
chimon2000 / main.dart
Last active February 9, 2022 19:52
state_example: app widget
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
void main() {
runApp(App());
}
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
@chimon2000
chimon2000 / base.command.dart
Last active July 30, 2021 14:41
Command Pattern in Dart
abstract class BaseCommand<T> {
BuildContext _context;
BaseCommand(BuildContext context) {
/// Get root context
/// If we're passed a context that is known to be root, skip the lookup, it will throw an error otherwise.
_context = (context == _lastKnownRoot) ? context : context.read();
_lastKnownRoot = _context;
}
@chimon2000
chimon2000 / get_it_web_bug.dart
Last active April 1, 2021 23:15
get_it_web_bug.dart
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
Future<void> main() async {
await initApp();
runApp(MyApp());
}
@chimon2000
chimon2000 / use_state_notifier.dart
Created May 5, 2020 02:59
Flutter Hook for StateNotifier
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:state_notifier/state_notifier.dart';
T useStateNotifier<T>(StateNotifier<T> notifier) {
final state = useState<T>(null);
useEffect(() {
return notifier.addListener((s) => state.value = s);
}, [notifier]);