From 511381909db4a2a702564ac76a33b9466b73e20b Mon Sep 17 00:00:00 2001 From: yaso-meth Date: Wed, 31 Jul 2024 13:16:54 +0200 Subject: [PATCH] Image asset logo caching --- .../lib/components/mihAppDrawer.dart | 4 +-- Frontend/patient_manager/lib/main.dart | 1 + Frontend/patient_manager/lib/pages/home.dart | 33 ++++++++++++------- .../lib/pages/patientView.dart | 26 ++++++++------- .../patient_manager/lib/theme/mihTheme.dart | 6 ++-- 5 files changed, 41 insertions(+), 29 deletions(-) diff --git a/Frontend/patient_manager/lib/components/mihAppDrawer.dart b/Frontend/patient_manager/lib/components/mihAppDrawer.dart index c96ca432..3b0a974c 100644 --- a/Frontend/patient_manager/lib/components/mihAppDrawer.dart +++ b/Frontend/patient_manager/lib/components/mihAppDrawer.dart @@ -5,7 +5,7 @@ import 'package:supertokens_flutter/supertokens.dart'; class MIHAppDrawer extends StatefulWidget { final AppUser signedInUser; - final Image logo; + final AssetImage logo; const MIHAppDrawer({ super.key, required this.signedInUser, @@ -74,7 +74,7 @@ class _MIHAppDrawerState extends State { children: [ SizedBox( height: 60, - child: widget.logo, + child: Image(image: widget.logo), ), Text( "${widget.signedInUser.fname} ${widget.signedInUser.lname}", diff --git a/Frontend/patient_manager/lib/main.dart b/Frontend/patient_manager/lib/main.dart index bc960b3f..50f243d4 100644 --- a/Frontend/patient_manager/lib/main.dart +++ b/Frontend/patient_manager/lib/main.dart @@ -57,6 +57,7 @@ class _MzanziInnovationHubState extends State { @override Widget build(BuildContext context) { + precacheImage(theme.logoImage(), context); return MaterialApp( title: getTitle(), themeMode: _themeMode, diff --git a/Frontend/patient_manager/lib/pages/home.dart b/Frontend/patient_manager/lib/pages/home.dart index b9acb355..dee182e3 100644 --- a/Frontend/patient_manager/lib/pages/home.dart +++ b/Frontend/patient_manager/lib/pages/home.dart @@ -23,21 +23,21 @@ class _HomeState extends State { //late Future signedInUser; String useremail = ""; final baseAPI = AppEnviroment.baseApiUrl; - //late Image logo; - Future loadImage() async { - try { - var t = MzanziInnovationHub.of(context)!.theme.logoImage(); - await precacheImage(t.image, context); - } catch (e) { - print('Failed to load and cache the image: $e'); - } - } + // Future loadImage() async { + // try { + // var t = MzanziInnovationHub.of(context)!.theme.logoImage(); + // await precacheImage(t.image, context); + // } catch (e) { + // print('Failed to load and cache the image: $e'); + // } + // } 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) { @@ -56,12 +56,20 @@ class _HomeState extends State { void initState() { //signedInUser = getUserDetails(); super.initState(); + + //precacheImage(logo, context); } + // @override + // void didChangeDependencies() { + // super.didChangeDependencies(); + // precacheImage(logo, context); + // } + @override Widget build(BuildContext context) { - loadImage(); - var logo = MzanziInnovationHub.of(context)!.theme.logoImage(); + //loadImage(); + return FutureBuilder( future: getUserDetails(), builder: (BuildContext context, AsyncSnapshot snapshot) { @@ -71,7 +79,8 @@ class _HomeState extends State { appBar: const MIHAppBar(barTitle: "Mzansi Innovation Hub"), drawer: MIHAppDrawer( signedInUser: snapshot.data!, - logo: logo, + logo: + MzanziInnovationHub.of(context)!.theme.logoImage(), //logo, ), //HomeAppDrawer(userEmail: useremail), body: HomeTileGrid( signedInUser: snapshot.data!, diff --git a/Frontend/patient_manager/lib/pages/patientView.dart b/Frontend/patient_manager/lib/pages/patientView.dart index 3f420c68..85e2e733 100644 --- a/Frontend/patient_manager/lib/pages/patientView.dart +++ b/Frontend/patient_manager/lib/pages/patientView.dart @@ -48,19 +48,19 @@ class _PatientViewState extends State { return null; } - Future loadImage() async { - try { - var t = MzanziInnovationHub.of(context)!.theme.logoImage(); - await precacheImage(t.image, context); - } catch (e) { - print('Failed to load and cache the image: $e'); - } - } + // Future loadImage() async { + // try { + // var t = MzanziInnovationHub.of(context)!.theme.logoImage(); + // await precacheImage(t.image, context); + // } catch (e) { + // print('Failed to load and cache the image: $e'); + // } + // } @override Widget build(BuildContext context) { - loadImage(); - var logo = MzanziInnovationHub.of(context)!.theme.logoImage(); + // loadImage(); + // var logo = MzanziInnovationHub.of(context)!.theme.logoImage(); return FutureBuilder( future: fetchPatient(), builder: (ctx, snapshot) { @@ -72,8 +72,10 @@ class _PatientViewState extends State { if (snapshot.hasData) { return Scaffold( appBar: const MIHAppBar(barTitle: "Patient View"), - drawer: - MIHAppDrawer(signedInUser: widget.signedInUser, logo: logo), + drawer: MIHAppDrawer( + signedInUser: widget.signedInUser, + logo: MzanziInnovationHub.of(context)!.theme.logoImage(), + ), body: SingleChildScrollView( child: Padding( padding: const EdgeInsets.symmetric( diff --git a/Frontend/patient_manager/lib/theme/mihTheme.dart b/Frontend/patient_manager/lib/theme/mihTheme.dart index cd27eb95..a2df8721 100644 --- a/Frontend/patient_manager/lib/theme/mihTheme.dart +++ b/Frontend/patient_manager/lib/theme/mihTheme.dart @@ -103,13 +103,13 @@ class MyTheme { return Color(_succColor); } - Image logoImage() { + AssetImage logoImage() { if (mode == "Dark") { - return Image.asset( + return const AssetImage( 'images/Logo-01.png', ); } else { - return Image.asset( + return const AssetImage( 'images/Logo-02.png', ); }