Skip to content

Instantly share code, notes, and snippets.

@HayesGordon
HayesGordon / rive_asset.dart
Created April 16, 2024 09:25
Example extensions on the Rive File asset type in Flutter.
import 'package:rive/src/rive_core/assets/file_asset.dart';
export 'package:rive/src/generated/artboard_base.dart';
extension FileAssetExtension on FileAsset {
Extension get extension => _getExtension(fileExtension);
Type get type => _getType(extension);
}
Extension _getExtension(String ext) {
@HayesGordon
HayesGordon / main.dart
Created January 16, 2023 14:02
Gist to support Flutter normalisation crash
// Gist to support https://github.com/flutter/flutter/issues/118559
import 'dart:math';
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';
import 'package:vector_math/vector_math.dart' as vmath;
@HayesGordon
HayesGordon / main.dart
Created July 30, 2022 09:42
Dynamically update Flutter animations by changing Tween begin and end value.
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
@override
State<MyApp> createState() => _MyAppState();
}
@HayesGordon
HayesGordon / main.dart
Created July 14, 2022 18:55
Flutter lightbulb demo. Turn on/off to make text visible
import 'dart:math';
import 'package:flutter/material.dart';
import 'dart:ui' as ui;
const light = Color(0xffead481);
const textLight = Color.fromARGB(255, 173, 162, 118);
const lightBack = Color.fromARGB(255, 205, 197, 163);
const background = Color.fromARGB(255, 15, 11, 2);
@HayesGordon
HayesGordon / demo_users.dart
Last active March 25, 2022 16:01
Instagram Clone - Streamagram
import 'package:stream_feed_flutter_core/stream_feed_flutter_core.dart';
/// Demo application users.
enum DemoAppUser {
sahil,
sacha,
reuben,
gordon,
}
@HayesGordon
HayesGordon / badge.json
Last active March 21, 2022 11:39
Badge for Stream
{
"schemaVersion": 1,
"label": "",
"logoSvg": "<svg width=\"90\" height=\"45\" viewBox=\"0 0 90 45\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M58.232 14.3853L86.7434 12.3542C88.6254 12.2202 89.8103 14.3515 88.71 15.8917L68.7651 43.8098C68.3469 44.3953 67.6734 44.7426 66.9562 44.7426H22.2297C21.5135 44.7426 20.841 44.3964 20.4223 43.8121L0.424446 15.8939C-0.678544 14.354 0.506397 12.2197 2.38992 12.3542L30.8145 14.3856L42.9549 0.745822C43.8446 -0.253621 45.4034 -0.247803 46.2857 0.758578L58.232 14.3853ZM64.2028 40.3163L45.6992 33.3669V40.3163H64.2028ZM43.4722 40.3163V33.3669L24.9686 40.3163H43.4722ZM41.3371 31.7068L22.4317 38.7987L8.52328 19.3702L41.3371 31.7068ZM47.7958 31.7068L66.7012 38.7987L80.6096 19.3702L47.7958 31.7068ZM43.4901 30.0853V6.70197L28.0322 24.2377L43.4901 30.0853ZM45.6992 30.0853V6.70488L61.1573 24.2377L45.6992 30.0853ZM23.4991 22.6212L27.0557 18.6051L9.67972 17.3537L23.4991 22.6212ZM65.5044 22.6212L61.948 18.6051L79
import 'package:flutter/material.dart';
import 'package:stream_chat_flutter/scrollable_positioned_list/scrollable_positioned_list.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
Future<void> main() async {
final client = StreamChatClient(
'YOUR-KEY',
logLevel: Level.INFO,
);