Skip to content

Instantly share code, notes, and snippets.

View apgapg's full-sized avatar
😉
Still not born...

Ayush P Gupta apgapg

😉
Still not born...
View GitHub Profile
@apgapg
apgapg / .eslintrc.json
Created January 7, 2020 05:54
ESLint config for vue, vuetify
{
"root": true,
"env": {
"browser": true,
"es6": true,
"node": true
},
"extends": [
"eslint:recommended",
"plugin:vue/essential"
@apgapg
apgapg / analysis_options.yaml
Created January 7, 2020 05:58
lint file for flutter project
include: package:pedantic/analysis_options.yaml
linter:
rules:
- always_declare_return_types
- always_put_control_body_on_new_line
- always_put_required_named_parameters_first
- always_require_non_null_named_parameters
# - always_specify_types
- annotate_overrides
@apgapg
apgapg / base_prefs.dart
Created January 7, 2020 06:02
Base class for using shared/local preferences in Flutter
abstract class BasePrefs {
Future<void> initialise();
//Getters
bool getBool(String key);
int getInt(String key);
double getDouble(String key);
@apgapg
apgapg / base_prefs.dart
Created January 7, 2020 06:02
Base class for using shared/local preferences in Flutter
abstract class BasePrefs {
Future<void> initialise();
//Getters
bool getBool(String key);
int getInt(String key);
double getDouble(String key);
@apgapg
apgapg / date_utils.dart
Last active November 10, 2021 16:03
Get correct ISO DateTime String with offset in Flutter: https://dartpad.dev/84d855e41c0134a34ff8b2cf034ad249
import 'package:intl/intl.dart';
import 'package:meta/meta.dart';
void main() {
print(DateUtils.formatISOTime(DateTime.now()));
print(DateUtils.getCurrentISOTimeString());
}
class DateUtils {
@apgapg
apgapg / NetworkError.vue
Created January 7, 2020 06:12
Error Card in Vue, Vuetify
<template>
<v-container fluid>
<v-card outlined>
<v-container class="py-8">
<div class="d-flex justify-center mb-4">
<v-icon size="40">mdi-emoticon-sad-outline</v-icon>
</div>
<p class="title text-center my-0 py-0 grey--text text--darken-3">Oops! Something totally went wrong</p>
<p class="subtitle-1 red--text text-center my-0 py-0">{{error}}</p>
@apgapg
apgapg / user_repository_impl.dart
Created March 21, 2020 10:10
Firebase user repository implementation for flutter firebase auth
import 'dart:async';
import 'dart:convert';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:connectit_app/data/local/prefs/prefs_helper.dart';
import 'package:connectit_app/data/model/result.dart';
import 'package:connectit_app/data/model/user.dart';
import 'package:connectit_app/data/repo/user/google_login_repository.dart';
import 'package:connectit_app/di/injector.dart';
import 'package:connectit_app/utils/log_utils.dart';
@apgapg
apgapg / logging_interceptor.dart
Created April 9, 2020 05:37
Logging interceptor for dio, flutter
import 'dart:async';
import 'package:dio/dio.dart';
import 'package:flutter/cupertino.dart';
/// [LoggingInterceptor] is used to print logs during network requests.
/// It's better to add [LoggingInterceptor] to the tail of the interceptor queue,
/// otherwise the changes made in the interceptor behind A will not be printed out.
/// This is because the execution of interceptors is in the order of addition.
class LoggingInterceptor extends Interceptor {
@apgapg
apgapg / main.yml
Created April 20, 2020 10:01
Github Action for Flutter Build, Test, Release and Upload app
# This is a basic workflow to help you get started with Actions
name: Test, Build, Release Demo app to Azure Storgae
# name: Test, Build and Release apk
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ master ]
@apgapg
apgapg / my_stream_builder.dart
Created April 20, 2020 14:16
Wrapper of StreamBuilder for managing error and loading on its own. Fully customisable
import 'package:flutter/material.dart';
import 'package:workozy_app/widgets/helper/stream_error_widget.dart';
import 'package:workozy_app/widgets/helper/stream_loading_widget.dart';
typedef OnData<T> = Widget Function(T data);
typedef OnError = Widget Function(dynamic e);
typedef OnLoading = Widget Function();
class MyStreamBuilder<T> extends StatelessWidget {
MyStreamBuilder({