import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:patient_manager/env/env.dart'; import 'package:patient_manager/components/homeTileGrid.dart'; import 'package:patient_manager/objects/appUser.dart'; import 'package:supertokens_flutter/supertokens.dart'; import 'package:supertokens_flutter/http.dart' as http; class Home extends StatefulWidget { const Home({ super.key, }); @override State createState() => _HomeState(); } class _HomeState extends State { String useremail = ""; final baseAPI = AppEnviroment.baseApiUrl; Future getUserDetails() async { //print("pat man drawer: " + endpointUserData + widget.userEmail); var uid = await SuperTokens.getUserId(); var response = await http.get(Uri.parse("$baseAPI/user/$uid")); // print(response.statusCode); // print(response.body); if (response.statusCode == 200) { // print("here"); String body = response.body; var decodedData = jsonDecode(body); AppUser u = AppUser.fromJson(decodedData); // print(u.email); //setState(() { //_widgetOptions = setLayout(u); //}); return u; } else { throw Exception("Error: GetUserData status code ${response.statusCode}"); } } @override void initState() { super.initState(); } @override Widget build(BuildContext context) { return FutureBuilder( future: getUserDetails(), builder: (BuildContext context, AsyncSnapshot snapshot) { if (snapshot.connectionState == ConnectionState.done) { if (snapshot.hasData) { return HomeTileGrid( signedInUser: snapshot.data!, ); } else { return Center( child: Text( '${snapshot.error} occurred', style: TextStyle(fontSize: 18), ), ); } } return const Center( child: CircularProgressIndicator(), ); }, ); } }