Skip to content

Instantly share code, notes, and snippets.

View CoderNamedHendrick's full-sized avatar
🥷

Sebastine Odeh CoderNamedHendrick

🥷
View GitHub Profile
import 'dart:async';
import 'dart:io';
import 'dart:typed_data';
import 'package:camera/camera.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:google_mlkit_face_detection/google_mlkit_face_detection.dart';
void main() {
Employee emp1 = employee(EmployeeTypes.salesman);
print(emp1.type.name);
}
// Replace Conditional with ploymorphism
Employee employee(EmployeeTypes type) {
switch (type) {
case EmployeeTypes.salesman:
return Salesman();
void main(){
final Employee emp1 = Employee(EmployeeTypes.engineer);
emp1.work();
}
class Employee {
late final EmployeeStrategy _strategy;
Employee(EmployeeTypes type){
_setStrategy(type);
@CoderNamedHendrick
CoderNamedHendrick / transformer.dart
Last active February 4, 2024 10:49
Predictable data transformer for API responses
import 'package:either_dart/either.dart';
import '../exceptions/exceptions.dart';
Either<AppException, E> transform<E>(
dynamic data, E Function(Map<String, dynamic>) transformer) {
try {
return Right(transformer(data));
} on TypeError {
return Left(ObjectParseException());
} catch (e) {
@CoderNamedHendrick
CoderNamedHendrick / android_dropdown.dart
Last active September 6, 2023 20:58
Android dropdown
import 'package:aku_staff_agent/ui/shared/app_colors.dart';
import 'package:aku_staff_agent/ui/shared/app_text_styles.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class AndroidDropdown extends StatefulWidget {
final List<String> items;
final String? hintText;
final ValueChanged<String?>? onChanged;
final Color? dropIconColor;
@CoderNamedHendrick
CoderNamedHendrick / main.dart
Created October 7, 2022 04:17
Pulsing scale animation
import 'package:flutter/material.dart';
const Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
@CoderNamedHendrick
CoderNamedHendrick / account.dart
Created October 22, 2022 06:32
Zuri Account Challange
void main() {
final userAccount =
Account(accountName: 'Femi Adebayo', accountNumber: '1011234355');
userAccount.deposit(20000);
print('Account Balance: ${userAccount.availableBalance}\n');
userAccount.withdraw(4000);
print('Account Balance: ${userAccount.availableBalance}\n');
import 'package:flutter/material.dart';
const Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@CoderNamedHendrick
CoderNamedHendrick / string_checks_extension.dart
Created November 27, 2022 10:54
String checks extension.
extension StringCheckers on String? {
bool get isBlank {
final value = this?.trim();
if (value == null || value.isEmpty){
return true;
}
return false;
@CoderNamedHendrick
CoderNamedHendrick / mic_loader.dart
Last active November 30, 2022 14:13
Cleaner impl.
class AnimatingIcon extends StatefulWidget {
const AnimatingIcon({super.key, this.onTap});
final VoidCallback? onTap;
@override
State<AnimatingIcon> createState() => _AnimatingIconState();
}
class _AnimatingIconState extends State<AnimatingIcon>
with SingleTickerProviderStateMixin {