diff --git a/lib/services/spotify.dart b/lib/services/spotify.dart index 2d4f5a8b231a9a01972ea707ae45a13dc5ecb1b4..45b7f266323507002bcd4bca5bdf06c965d3e5b5 100644 --- a/lib/services/spotify.dart +++ b/lib/services/spotify.dart @@ -87,6 +87,18 @@ class Spotify { } } + getUser() async { + try { + var response = await http.get( + Uri.parse("https://api.spotify.com/v1/me"), + headers: {HttpHeaders.authorizationHeader: authToken}, + ); + return response; + } catch (e) { + log(e.toString()); + } + } + getUserAlbums() async { try { var response = await http.get( diff --git a/lib/widgets/navbars.dart b/lib/widgets/navbars.dart index 637fbc33462f0df0d7e6d5788a34b39a99f1d4be..782c8777c2fc824c5676e0471dab27b349ff2440 100644 --- a/lib/widgets/navbars.dart +++ b/lib/widgets/navbars.dart @@ -1,6 +1,9 @@ // ignore_for_file: prefer_const_constructors +import 'package:ambient/services/spotify.dart'; +import 'package:firebase_auth/firebase_auth.dart'; import 'package:flutter/material.dart'; +import '../loginRegister/login.dart'; import '../main.dart'; //Todo Daniel Sidebar @@ -11,17 +14,20 @@ class SettingsDrawer extends StatelessWidget { @override Widget build(BuildContext context) { + Spotify spotify = Spotify(); + var user = spotify.getUser(); + return Drawer( child: ListView( padding: EdgeInsets.zero, children: [ UserAccountsDrawerHeader( - accountName: Text('Name'), - accountEmail: Text("Email"), + accountName: user['display_name'], + accountEmail: user['email'], currentAccountPicture: CircleAvatar( child: ClipOval( child: Image.network( - "https://images.unsplash.com/photo-1438761681033-6461ffad8d80?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8cGVyc29ufGVufDB8fDB8fA%3D%3D&w=1000&q=80", + user['images'][0]['url'], width: 90, height: 90, fit: BoxFit.cover, @@ -46,7 +52,10 @@ class SettingsDrawer extends StatelessWidget { leading: Icon(Icons.exit_to_app), title: Text('Abmelden'), onTap: () { - //TODO: Abmelden + FirebaseAuth.instance.signOut().then((value) { + Navigator.push(context, MaterialPageRoute(builder: + (context) => LoginPage())); + }); }, ) ],