QOL: only get user data if user is null

This commit is contained in:
2025-12-09 11:46:16 +02:00
parent 7c59e2a5c8
commit 07360dd308
14 changed files with 103 additions and 213 deletions

View File

@@ -29,9 +29,11 @@ class _MihAccessState extends State<MihAccess> {
});
MzansiProfileProvider mzansiProfileProvider =
context.read<MzansiProfileProvider>();
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
if (mzansiProfileProvider.user == null) {
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
}
setState(() {
_isLoadingInitialData = false;
});

View File

@@ -29,9 +29,11 @@ class _MzansiCalendarState extends State<MzansiCalendar> {
});
MzansiProfileProvider mzansiProfileProvider =
context.read<MzansiProfileProvider>();
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
if (mzansiProfileProvider.user == null) {
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
}
setState(() {
_isLoadingInitialData = false;
});

View File

@@ -43,9 +43,12 @@ class _MihHomeState extends State<MihHome> {
});
MzansiProfileProvider mzansiProfileProvider =
context.read<MzansiProfileProvider>();
await MihDataHelperServices().loadUserDataWithBusinessesData(
mzansiProfileProvider,
);
if (mzansiProfileProvider.user == null) {
await MihDataHelperServices().loadUserDataWithBusinessesData(
mzansiProfileProvider,
);
}
if (mounted) {
setState(() {
_isLoadingInitialData = false;

View File

@@ -36,9 +36,11 @@ class _MihMineSweeperState extends State<MihMineSweeper> {
MzansiProfileProvider mzansiProfileProvider =
context.read<MzansiProfileProvider>();
MihBannerAdProvider bannerAdProvider = context.read<MihBannerAdProvider>();
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
if (mzansiProfileProvider.user == null) {
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
}
bannerAdProvider.loadBannerAd();
setState(() {
_isLoadingInitialData = false;

View File

@@ -29,9 +29,11 @@ class _MzansiAiState extends State<MzansiAi> {
});
MzansiProfileProvider mzansiProfileProvider =
context.read<MzansiProfileProvider>();
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
if (mzansiProfileProvider.user == null) {
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
}
setState(() {
_isLoadingInitialData = false;
});

View File

@@ -1,3 +1,5 @@
import 'dart:convert';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_ai_toolkit/flutter_ai_toolkit.dart';
@@ -121,6 +123,26 @@ class _MihAiChatState extends State<MihAiChat> with WidgetsBindingObserver {
}
}
void saveHistory(MzansiAiProvider aiProvider) {
final history = aiProvider.ollamaProvider.history.toList();
String jsonHistory = '{"conversation_id":"1234-asdf-5678-qwert",\n';
// jsonHistory += '"app_id":"${}"\n';
jsonHistory += '"messages":[\n';
KenLogger.success("History Length: ${history.length}");
for (int i = 0; i != history.length; i++) {
final map = history[i].toJson();
final json = JsonEncoder.withIndent(' ').convert(map);
jsonHistory += json;
if (i != history.length - 1) {
KenLogger.success("i: $i");
jsonHistory += ",";
}
jsonHistory += "\n";
}
jsonHistory += ']}';
debugPrint("History: $jsonHistory");
}
void stopTTS(MzansiAiProvider aiProvider) {
_flutterTts.stop();
aiProvider.setTTSstate(false);
@@ -240,6 +262,26 @@ class _MihAiChatState extends State<MihAiChat> with WidgetsBindingObserver {
"What are the features of MIH?"
],
),
Positioned(
top: 10,
left: 10,
child: MihButton(
width: 200,
height: 30,
onPressed: () {
saveHistory(aiProvider);
},
buttonColor: MihColors.getGreenColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
child: Text(
"View History as json",
style: TextStyle(
color: MihColors.getPrimaryColor(
MzansiInnovationHub.of(context)!.theme.mode == "Dark"),
),
),
),
),
if (hasHistory && lastMessage != null)
Positioned(
bottom: 80,

View File

@@ -35,9 +35,11 @@ class _MzansiDirectoryState extends State<MzansiDirectory> {
});
MzansiProfileProvider mzansiProfileProvider =
context.read<MzansiProfileProvider>();
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
if (mzansiProfileProvider.user == null) {
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
}
setState(() {
_isLoadingInitialData = false;
});

View File

@@ -37,9 +37,11 @@ class _BusinesProfileState extends State<BusinesProfile> {
});
MzansiProfileProvider mzansiProfileProvider =
context.read<MzansiProfileProvider>();
await MihDataHelperServices().loadUserDataWithBusinessesData(
mzansiProfileProvider,
);
if (mzansiProfileProvider.user == null) {
await MihDataHelperServices().loadUserDataWithBusinessesData(
mzansiProfileProvider,
);
}
await MihBusinessEmployeeServices()
.fetchEmployees(mzansiProfileProvider, context);
setState(() {

View File

@@ -30,9 +30,11 @@ class _MzansiProfileState extends State<MzansiProfile> {
});
MzansiProfileProvider mzansiProfileProvider =
context.read<MzansiProfileProvider>();
await MihDataHelperServices().loadUserDataWithBusinessesData(
mzansiProfileProvider,
);
if (mzansiProfileProvider.user == null) {
await MihDataHelperServices().loadUserDataWithBusinessesData(
mzansiProfileProvider,
);
}
setState(() {
_isLoadingInitialData = false;
});

View File

@@ -33,9 +33,11 @@ class _MihWalletState extends State<MihWallet> {
MzansiProfileProvider mzansiProfileProvider =
context.read<MzansiProfileProvider>();
MzansiWalletProvider walletProvider = context.read<MzansiWalletProvider>();
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
if (mzansiProfileProvider.user == null) {
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
}
await setLoyaltyCards(mzansiProfileProvider, walletProvider);
await setFavouritesCards(mzansiProfileProvider, walletProvider);
setState(() {

View File

@@ -40,9 +40,11 @@ class _PatManagerState extends State<PatManager> {
context.read<PatientManagerProvider>();
MihCalendarProvider mihCalendarProvider =
context.read<MihCalendarProvider>();
await MihDataHelperServices().loadUserDataWithBusinessesData(
mzansiProfileProvider,
);
if (mzansiProfileProvider.user == null) {
await MihDataHelperServices().loadUserDataWithBusinessesData(
mzansiProfileProvider,
);
}
patientManagerProvider.setPersonalMode(false);
if (mzansiProfileProvider.business != null) {
await MihMzansiCalendarApis.getBusinessAppointments(

View File

@@ -42,10 +42,11 @@ class _PatientProfileState extends State<PatientProfile> {
context.read<MzansiProfileProvider>();
PatientManagerProvider patientManagerProvider =
context.read<PatientManagerProvider>();
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
if (mzansiProfileProvider.user == null) {
await MihDataHelperServices().loadUserDataOnly(
mzansiProfileProvider,
);
}
if (patientManagerProvider.selectedPatient == null) {
await MihPatientServices().getPatientDetails(
mzansiProfileProvider.user!.app_id, patientManagerProvider);