Skip to content

Instantly share code, notes, and snippets.

View loicgeek's full-sized avatar

loic NGOU loicgeek

View GitHub Profile
import 'dart:math';
import 'package:reflectable/reflectable.dart';
import 'main.reflectable.dart';
const fieldReflector = FieldReflector();
class FieldReflector extends Reflectable {
const FieldReflector()
import 'package:get/get.dart';
import 'package:todo_app_getx/auth/auth.controller.dart';
import 'package:todo_app_getx/todo/models/todo.model.dart';
import 'package:todo_app_getx/todo/todo.service.dart';
class TodoController extends GetxController {
static TodoController to = Get.find();
RxList todos = [].obs; // Observable of the user todo list
RxBool isLoadingTodos = false.obs;
RxBool isAddingTodo = false.obs;
import 'dart:async';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:todo_app_getx/todo/models/todo.model.dart';
class TodoService {
CollectionReference todosRef = Firestore.instance.collection("todos");
Stream<Iterable<Todo>> findAll(userId) {
return todosRef
.where("user_id", isEqualTo: userId)
import 'package:flutter/material.dart';
import 'package:todo_app_getx/auth/auth.controller.dart';
class RegisterPage extends StatelessWidget {
final AuthController authController = AuthController.to;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Register"),
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:todo_app_getx/auth/auth.controller.dart';
import '../signin_enum.dart';
class LoginPage extends StatelessWidget {
final AuthController authController = AuthController.to;
@override
Widget build(BuildContext context) {
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:todo_app_getx/auth/auth.service.dart';
import 'package:todo_app_getx/auth/signin_enum.dart';
class AuthController extends GetxController {
static AuthController to = Get.find();
RxBool isLogged = false.obs;
import 'package:firebase_auth/firebase_auth.dart';
import 'package:google_sign_in/google_sign_in.dart';
class AuthService {
final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
final GoogleSignIn _googleSignIn = GoogleSignIn();
Stream<FirebaseUser> onAuthChanged() {
return _firebaseAuth.onAuthStateChanged;
}
import 'package:get/get.dart';
import 'package:todo_app_getx/auth/views/login.dart';
import 'package:todo_app_getx/auth/views/register.dart';
import 'package:todo_app_getx/splashscreen.dart';
import 'package:todo_app_getx/todo/views/views.dart';
class AppRoutes {
static final routes = [
GetPage(
name: '/splashscreen',
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:todo_app_getx/auth/auth.controller.dart';
import 'package:todo_app_getx/get_routes.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
runApp(MyApp());
}
name: todo_app_getx
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"