Skip to content

Instantly share code, notes, and snippets.

View amartya-dev's full-sized avatar

Amartya Gaur amartya-dev

View GitHub Profile
@amartya-dev
amartya-dev / custom_user.py
Created November 4, 2020 17:35
Sample code for having a custom user model with Django
from allauth.account.models import EmailAddress
from django.contrib.auth.base_user import BaseUserManager
from django.contrib.auth.models import AbstractUser
from django.db import models
# Create your models here.
#
# Uncomment and edit the following User model and the Custom UserManager to represent your needs. The following has
# been coded to use Email instead of username, feel free to modify it for any particular use-case you need it for.
import 'package:flutter/material.dart';
import 'package:bloc/bloc.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:bloc_login/repository/user_repository.dart';
import 'package:bloc_login/bloc/authentication_bloc.dart';
import 'package:bloc_login/splash/splash.dart';
import 'package:bloc_login/login/login_page.dart';
import 'package:bloc_login/home/home.dart';
import 'package:flutter/material.dart';
class LoadingIndicator extends StatelessWidget {
@override
Widget build(BuildContext context) => Center(
child: CircularProgressIndicator(),
);
}
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:bloc_login/repository/user_repository.dart';
import 'package:bloc_login/bloc/authentication_bloc.dart';
import 'package:bloc_login/login/bloc/login_bloc.dart';
import 'package:bloc_login/login/login_form.dart';
class LoginPage extends StatelessWidget {
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:bloc_login/login/bloc/login_bloc.dart';
class LoginForm extends StatefulWidget {
@override
State<LoginForm> createState() => _LoginFormState();
}
class _LoginFormState extends State<LoginForm> {
import 'dart:async';
import 'package:bloc/bloc.dart';
import 'package:bloc_login/bloc/authentication_bloc.dart';
import 'package:bloc_login/repository/user_repository.dart';
import 'package:meta/meta.dart';
import 'package:equatable/equatable.dart';
part 'login_event.dart';
part 'login_state.dart';
part of 'login_bloc.dart';
abstract class LoginEvent extends Equatable {
const LoginEvent();
}
class LoginButtonPressed extends LoginEvent {
final String username;
final String password;
part of 'login_bloc.dart';
abstract class LoginState extends Equatable {
const LoginState();
@override
List<Object> get props => [];
}
class LoginInitial extends LoginState {}
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:bloc_login/bloc/authentication_bloc.dart';
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Home | Home Hub'),
import 'package:flutter/material.dart';
class SplashPage extends StatelessWidget {
@override
Widget build (BuildContext context) {
return Scaffold(
body: Center(
child: Text('Splash Screen'),
),
);