Skip to content

Instantly share code, notes, and snippets.

View Crdzbird's full-sized avatar
🎯
Finding the Dart Zone B|

Luis Cardoza Bird Crdzbird

🎯
Finding the Dart Zone B|
View GitHub Profile
@Crdzbird
Crdzbird / Preferences.dart
Created April 19, 2024 15:07
Preferences.dart
import 'package:shared_preferences/shared_preferences.dart';
/// Wrapper class for the shared preferences.
class Preferences {
Preferences({required SharedPreferences sharedPreferences})
: _sharedPreferences = sharedPreferences;
final SharedPreferences _sharedPreferences;
/// Writes the [value] to the shared preferences.
Future<bool> write({required String key, required String value}) =>
@Crdzbird
Crdzbird / dio_exceptions.dart
Created February 14, 2024 14:01
dio_exceptions.dart
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:equatable/equatable.dart';
import 'package:sage_glass/models/enums/network_error_type.dart';
import 'package:sage_glass/models/error/error_response.dart';
class DioExceptions extends Equatable {
const DioExceptions({required this.error}) : super();
final Exception error;
@Crdzbird
Crdzbird / network_error_type_extension.dart
Created February 14, 2024 14:00
network_error_type_extension.dart
import 'package:flutter/material.dart';
import 'package:sage_glass/l10n/l10n.dart';
import 'package:sage_glass/models/enums/network_error_type.dart';
extension NetworkErrorTypeExtension on NetworkErrorType {
String message(BuildContext context) => switch (this) {
NetworkErrorType.requestCancelled => context.l10n.requestCancelled,
NetworkErrorType.networkConnectTimeoutError =>
context.l10n.networkConnectionTimeout,
NetworkErrorType.networkReceiveTimeoutError =>
@Crdzbird
Crdzbird / network_error_type.dart
Created February 14, 2024 13:59
network_error_type.dart
enum NetworkErrorType {
requestCancelled(1),
noInternetConnection(2),
badRequest(400),
unauthorized(401),
paymentRequired(402),
forbidden(403),
notFound(404),
methodNotAllowed(405),
notAcceptable(406),
@Crdzbird
Crdzbird / error_response.dart
Created February 14, 2024 13:57
error_response.dart
import 'dart:convert';
import 'package:equatable/equatable.dart';
class ErrorResponse extends Equatable {
const ErrorResponse({this.badRequest = 0, this.message = '', this.msg = ''});
/// `dart:convert`
///
/// Parses string and returns the resulting Json object as [ErrorResponse].
enum PmcUrlType {
termsConditionsIsAccepted('/mobileapp/v1/tos/is_accepted'),
fetchBuildings('/mobileapp/v1/projects'),
fetchZones('/mobileapp/v1/projects/_/zones'),
fetchZoneStatus('zonestatus'),
onRowTint('setrowtint'),
onZoneTintAuth('setzonetintauto'),
fetchRooms('/mobileapp/v1/projects/_/rooms'),
fetchRows('/mobileapp/v1/projects/_/rooms/_/zones'),
fetchUniqueRow('/mobileapp/v1/projects/_/rooms/_/zones/_'),
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:sage_glass/extensions/string_extension.dart';
import 'package:sage_glass/models/enums/pmc_url_type.dart';
import 'package:sage_glass/models/enums/preferences_type.dart';
import 'package:sage_glass/models/error/error_response.dart';
import 'package:sage_glass/models/okta/okta_authorization_response.dart';
import 'package:sage_glass/services/preferences/preferences.dart';
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:native_dio_adapter/native_dio_adapter.dart';
import 'package:sage_glass/extensions/dio_extension.dart';
import 'package:sage_glass/services/dio/abstract/dio_abstract.dart';
import 'package:sage_glass/services/preferences/preferences.dart';
/// This class is responsible for the configuration of the Dio instance.
/// It also provides the methods to get, post and put data to the server.
import androidx.compose.ui.Modifier
import androidx.compose.ui.composed
import androidx.compose.ui.draw.drawBehind
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Paint
import androidx.compose.ui.graphics.drawscope.drawIntoCanvas
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
@Crdzbird
Crdzbird / tap_recorder.dart
Created August 4, 2021 21:24 — forked from creativecreatorormaybenot/tap_recorder.dart
Flutter tap recorder widget
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter/widgets.dart';
/// This is code that I (https://twitter.com/creativemaybeno) wrote for a
/// StackOverflow answer.
/// You can find it here: https://stackoverflow.com/a/65067655/6509751.