From 92ecf463c166fd395a07e78aaaf7ff337849ab19 Mon Sep 17 00:00:00 2001
From: daniel furaev <daniel.furaev@stud.hs-hannover.de>
Date: Sun, 5 Feb 2023 15:43:14 +0100
Subject: [PATCH] hamburger menu work und logout stuff

---
 lib/services/spotify.dart | 12 ++++++++++++
 lib/widgets/navbars.dart  | 17 +++++++++++++----
 2 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/lib/services/spotify.dart b/lib/services/spotify.dart
index 2d4f5a8..45b7f26 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 637fbc3..782c877 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()));
+              });
             },
           )
         ],
-- 
GitLab