Skip to content

Instantly share code, notes, and snippets.

Avatar
🐶
( ´・‿・`)

mono — Masayuki Ono mono0926

🐶
( ´・‿・`)
View GitHub Profile
View main.dart
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
void main() {
runApp(
const App(),
);
}
@mono0926
mono0926 / workaround.sh
Last active April 5, 2023 20:34
Xcode 14.3 x Flutter 3.7.9 x CocoaPods 1.12.0 Workaround
View workaround.sh
sed -i "" 's/source="$(readlink "${source}")"/source="$(readlink -f "${source}")"/g' "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh"
@mono0926
mono0926 / main.dart
Created March 28, 2023 08:14
Shake animation
View main.dart
import 'dart:math';
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
View main.dart
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
View main.dart
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:riverpod/riverpod.dart';
// 1つ目のStreamProvider
final authUserProvider =
StreamProvider<User?>((ref) => FirebaseAuth.instance.userChanges());
// 2つ目のStreamProvider
// authUserProviderをwatchした値を使ってFirestoreから得られるStreamを返す
@mono0926
mono0926 / main.dart
Last active February 20, 2023 03:04
View main.dart
import 'package:flutter/material.dart';
void main() {
runApp(const App());
}
class App extends StatelessWidget {
const App({super.key});
@override
@mono0926
mono0926 / main.dart
Last active February 3, 2023 08:44
Flex VS Row/Column
View main.dart
import 'package:flutter/material.dart';
void main() => runApp(const App());
class App extends StatelessWidget {
const App({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
View main.dart
import 'dart:async';
import 'package:flutter_test/flutter_test.dart';
import 'package:rxdart/rxdart.dart';
void main() {
test('', () async {
// broadcast取ると、expectはtrueになる
// BehaviorSubjectでも、expectはtrueになる
final controller = StreamController<bool>.broadcast();
View state_notifier.dart
class PackageMetrics extends StateNotifier<AsyncValue<PackageMetricsScore>> {
PackageMetrics(this._ref, {required this.packageName})
: super(const AsyncLoading()) {
_ref
.watch(pubRepositoryProvider)
.getPackageMetrics(packageName: packageName)
.then((value) => state = AsyncData(value));
}
final AutoDisposeRef _ref;
View async_notifier.dart
class PackageMetrics
// AutoDispose/Family版のAsyncNotifier
extends AutoDisposeFamilyAsyncNotifier<PackageMetricsScore, String> {
late String _packageName;
@override
Future<PackageMetricsScore> build(String arg) {
_packageName = arg;
return ref
.watch(pubRepositoryProvider)
.getPackageMetrics(packageName: _packageName);