Skip to content

Instantly share code, notes, and snippets.

View CoderJava's full-sized avatar
🏠
Stay Safe. #WFH

Yudi Setiawan CoderJava

🏠
Stay Safe. #WFH
View GitHub Profile
@CoderJava
CoderJava / main.dart
Created December 16, 2021 01:40
Sample handle different JSON format
Future _loadSampleJson() async {
String jsonString = await rootBundle.loadString("assets/sample.json");
final jsonData = json.decode(jsonString);
if (jsonData['status'] == 0) {
final formatA = FormatA.fromJson(jsonData);
} else if (jsonData['status'] == 1) {
final formatB = FormatB.fromJson(jsonData);
} else {
print('Format json tidak diketahui');
}
@CoderJava
CoderJava / aes.dart
Last active June 16, 2024 18:59
CryptoJS encryption decryption in Vue, PHP, and Dart based on this solution (https://stackoverflow.com/a/64330804/10308290)
import 'dart:convert';
import 'dart:math';
import 'dart:typed_data';
import 'package:crypto/crypto.dart';
import 'package:tuple/tuple.dart';
import 'package:encrypt/encrypt.dart' as encrypt;
// Thanks to https://medium.com/@chingsuehok/cryptojs-aes-encryption-decryption-for-flutter-dart-7ca123bd7464
class AES {
@CoderJava
CoderJava / main.dart
Created May 21, 2021 08:24
Flutter camera preview (full screen)
final mediaSize = MediaQuery.of(context).size;
final scale = 1 / (controller.value.aspectRatio * mediaSize.aspectRatio);
return ClipRect(
clipper: _MediaSizeClipper(mediaSize),
child: Transform.scale(
scale: scale,
alignment: Alignment.topCenter,
child: CameraPreview(controller),
),
);
@CoderJava
CoderJava / add_edit_profile.dart
Last active January 24, 2021 16:19
add_edit_profile.dart flutter crud cubit
import 'dart:io';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_crud_cubit/cubit/profile_cubit.dart';
import 'package:flutter_crud_cubit/cubit/profile_state.dart';
import 'package:flutter_crud_cubit/helper/dio_helper.dart';
import 'package:flutter_crud_cubit/model/profile_data.dart';
@CoderJava
CoderJava / main.dart
Last active January 24, 2021 14:41
main.dart flutter crud cubit
import 'dart:io';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'cubit/profile_cubit.dart';
import 'cubit/profile_state.dart';
import 'dio_helper.dart';
@CoderJava
CoderJava / profile_cubit.dart
Last active January 24, 2021 16:19
profile_cubit.dart flutter crud cubit
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_crud_cubit/model/profile_data.dart';
import '../helper/dio_helper.dart';
import 'profile_state.dart';
class ProfileCubit extends Cubit<ProfileState> {
final DioHelper dioHelper;
ProfileCubit(this.dioHelper) : super(InitialProfileState());
@CoderJava
CoderJava / profile_state.dart
Last active January 24, 2021 16:19
profile_state.dart flutter crud cubit
import 'package:flutter_crud_cubit/model/profile_data.dart';
abstract class ProfileState {}
class InitialProfileState extends ProfileState {}
class LoadingProfileState extends ProfileState {}
class FailureLoadAllProfileState extends ProfileState {
final String errorMessage;
@CoderJava
CoderJava / dio_helper.dart
Last active January 24, 2021 15:44
dio_helper.dart flutter crub cubit
import 'package:dartz/dartz.dart';
import 'package:dio/dio.dart';
import 'package:flutter_crud_cubit/model/profile_data.dart';
class DioHelper {
Dio _dio;
DioHelper() {
_dio = Dio(
BaseOptions(
@CoderJava
CoderJava / pubspec.yaml
Created January 24, 2021 13:50
pubspec.yaml flutter crud cubit
name: flutter_crud_cubit
description: A new Flutter project.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
@CoderJava
CoderJava / profile_data.dart
Created January 1, 2021 14:51
Class model profile_data.dart
import 'package:json_annotation/json_annotation.dart';
part 'profile_data.g.dart';
@JsonSerializable()
class ProfileData {
@JsonKey(name: 'id')
final int id;
@JsonKey(name: 'name')
final String name;