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