project
ββββpackages
ββββui
ββββlib
β ββββshaders
β β ββββ shimmer.frag
β ββββsrc
β β ββββ shimmer.dart
β ββββui.dart
π¦
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| * Google Play and App Store logos | |
| * https://gist.github.com/PlugFox/ccc3d742a3c551bcb2ecb9b57a2bd34e | |
| * https://dartpad.dev?id=ccc3d742a3c551bcb2ecb9b57a2bd34e | |
| * Mike Matiunin <[email protected]>, 23 September 2025 | |
| */ | |
| // ignore_for_file: curly_braces_in_flow_control_structures | |
| import 'dart:async'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| final recorder = ui.PictureRecorder(); | |
| final canvas = Canvas(recorder); | |
| // ... | |
| final picture = recorder.endRecording(); | |
| final image = picture.toImage(outWidth, outHeight); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| * Custom render object | |
| * https://gist.github.com/PlugFox/58b92cde63e137b0a88ce7666ff0ee88 | |
| * https://dartpad.dev?id=58b92cde63e137b0a88ce7666ff0ee88 | |
| * Mike Matiunin <[email protected]>, 24 June 2025 | |
| */ | |
| // ignore_for_file: cascade_invocations, unnecessary_overrides | |
| import 'dart:async'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import 'dart:math' as math; | |
| import 'dart:ui'; | |
| import 'package:flutter/material.dart'; | |
| import 'package:flutter/services.dart'; | |
| /// {@template pin_code} | |
| /// PinCode widget. | |
| /// {@endtemplate} | |
| class PinCode extends StatefulWidget { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| use crate::error::AppError; | |
| use serde::{Deserialize, Serialize}; | |
| use sqlx::{MySql, Pool, Row, FromRow}; | |
| // Helper struct to handle database type conversions | |
| #[derive(Debug, FromRow, Clone, Serialize, Deserialize)] | |
| pub struct RawInventoryRow { | |
| pub account_id: u32, | |
| pub account: String, | |
| pub source: String, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import 'dart:async'; | |
| import 'package:control/src/mutex.dart'; | |
| /// {@template linked_mutex} | |
| /// A mutex implementation using a linked list of tasks. | |
| /// This allows for synchronizing access to a critical section of code, | |
| /// ensuring that only one task can execute the critical section at a time. | |
| /// {@endtemplate} | |
| class LinkedMutex implements Mutex { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import 'dart:typed_data'; | |
| import 'package:crypto/crypto.dart' as crypto; | |
| import 'package:meta/meta.dart'; | |
| @internal | |
| abstract final class BytesUtil { | |
| /// Extract hash from a [Uint8List] and convert it to a hex string. | |
| static String sha256(Uint8List bytes) { | |
| if (bytes.isEmpty) return 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| * Dart Utf8Decoder example | |
| * https://gist.github.com/PlugFox/c82c6147ccac451faa55efa8b55c80ae | |
| * https://dartpad.dev?id=c82c6147ccac451faa55efa8b55c80ae | |
| * Mike Matiunin <[email protected]>, 22 April 2025 | |
| */ | |
| // ignore_for_file: avoid_print | |
| import 'dart:async'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import 'dart:async'; | |
| import 'dart:convert'; | |
| import 'package:http/http.dart' as http; | |
| import 'package:l/l.dart'; | |
| /// Creates a stream of server-sent events (SSE) from the given URL. | |
| /// The stream will emit events as a tuple of event name and data. | |
| Stream<({String event, Map<String, Object?> data})> sse( | |
| String url, { |