WoofnWalk / lib / widgets / nav_drawer.dart
nav_drawer.dart
Raw
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:woofnwalk/screens/maps/walkers_list_screen.dart';

import '../providers/googleSignIn.dart';
import '../screens/profile.dart';
import 'nav_footer.dart';

class NavDrawer extends StatelessWidget {
  const NavDrawer({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: StreamBuilder(
            stream: FirebaseAuth.instance.authStateChanges(),
            builder: (context, snapshot) {
              return Drawer(
                child: ListView(
                  children: [
                    ListTile(
                        leading: const Icon(Icons.pets),
                        title: const Text('Account'),
                        onTap: () {
                          Navigator.pushReplacement(context, MaterialPageRoute(builder: (context)=> Profile()));
                        }
                    ),
                    ListTile(
                        leading: const Icon(Icons.map),
                        title: const Text('Nearby Dog Walkers'),
                        onTap: () {
                          Navigator.pushNamed(context, WalkersList.routeName);
                        }
                    ),
                    ListTile(
                        leading: const Icon(Icons.logout),
                        title: const Text('Logout'),
                        onTap: () {
                          // Navigator.pushNamed(context, );
                          final provider = Provider.of<GoogleSignInProvider>(context, listen:false);
                          provider.googleLogout();
                          FirebaseAuth.instance.signOut();
                          Navigator.pushReplacement(context, MaterialPageRoute(builder: (context)=> Profile()));
                        }
                    ),
                    const NavFooter(),
                  ],
                ),
              );
            },
        )
    );
  }
}