complete mzansi personal and business profile get & store data offline mode

This commit is contained in:
yaso 2026-06-25 11:59:21 +02:00
parent d42337fc6c
commit 8d78fb6357
13 changed files with 240 additions and 61 deletions

View file

@ -2,6 +2,7 @@ import 'package:go_router/go_router.dart';
import 'package:mih_package_toolkit/mih_package_toolkit.dart';
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
import 'package:mzansi_innovation_hub/mih_packages/mih_home/package_tile/mih_home_refresh_tile.dart';
import 'package:mzansi_innovation_hub/mih_providers/mzansi_ai_provider.dart';
import 'package:mzansi_innovation_hub/mih_providers/mzansi_profile_provider.dart';
import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tile/about_mih_tile.dart';
@ -129,6 +130,12 @@ class _MihBusinessHomeState extends State<MihBusinessHome>
packageSize: packageSize,
)
});
//=============== About MIH ===============
temp.add({
"Sync Data": MihHomeRefreshTile(
packageSize: packageSize,
)
});
return temp;
}

View file

@ -3,6 +3,7 @@ import 'package:mih_package_toolkit/mih_package_toolkit.dart';
import 'package:mzansi_innovation_hub/main.dart';
import 'package:mzansi_innovation_hub/mih_config/mih_env.dart';
import 'package:mzansi_innovation_hub/mih_package_components/Example/package_tiles/test_package_tile.dart';
import 'package:mzansi_innovation_hub/mih_packages/mih_home/package_tile/mih_home_refresh_tile.dart';
import 'package:mzansi_innovation_hub/mih_packages/mzansi_profile/business_profile/package_tiles/mzansi_setup_business_profile_tile.dart';
import 'package:mzansi_innovation_hub/mih_providers/mzansi_ai_provider.dart';
import 'package:mzansi_innovation_hub/mih_packages/about_mih/package_tile/about_mih_tile.dart';
@ -138,6 +139,12 @@ class _MihPersonalHomeState extends State<MihPersonalHome>
packageSize: packageSize,
)
});
//=============== About MIH ===============
temp.add({
"Sync Data": MihHomeRefreshTile(
packageSize: packageSize,
)
});
//=============== Dev ===============
if (AppEnviroment.getEnv() == "Dev") {
temp.add({

View file

@ -22,7 +22,7 @@ class BusinesProfile extends StatefulWidget {
}
class _BusinesProfileState extends State<BusinesProfile> {
bool _isLoadingInitialData = true;
// bool _isLoadingInitialData = true;
late final MihBusinessDetails _businessDetails;
late final MihMyBusinessUser _businessUser;
late final MihMyBusinessTeam _businessTeam;
@ -31,26 +31,18 @@ class _BusinesProfileState extends State<BusinesProfile> {
late final MihBusinessQrCode _businessQrCode;
late final MihBusinessLinks _businessLinks;
Future<void> _loadInitialData() async {
setState(() {
_isLoadingInitialData = true;
});
MzansiProfileProvider mzansiProfileProvider =
context.read<MzansiProfileProvider>();
if (mzansiProfileProvider.user == null) {
await MihDataHelperServices().loadUserDataWithBusinessesData(
mzansiProfileProvider,
);
}
await MihProfileLinksServices.getBusinessProfileLinks(
mzansiProfileProvider, mzansiProfileProvider.business!.business_id);
await MihBusinessEmployeeServices()
.fetchEmployees(mzansiProfileProvider, context);
setState(() {
_isLoadingInitialData = false;
});
}
// Future<void> _loadInitialData() async {
// MzansiProfileProvider mzansiProfileProvider =
// context.read<MzansiProfileProvider>();
// mzansiProfileProvider.loadCachedProfileState();
// if (mzansiProfileProvider.user == null) {
// mzansiProfileProvider.syncWithMihServerData();
// }
// setState(() {
// _isLoadingInitialData = false;
// });
// }
//
@override
void initState() {
super.initState();
@ -61,7 +53,7 @@ class _BusinesProfileState extends State<BusinesProfile> {
_businessReviews = MihBusinessReviews(business: null);
_businessLinks = MihBusinessLinks(viewMode: false);
_businessQrCode = MihBusinessQrCode(business: null);
_loadInitialData();
// _loadInitialData();
}
@override
@ -69,13 +61,13 @@ class _BusinesProfileState extends State<BusinesProfile> {
return Consumer<MzansiProfileProvider>(
builder: (BuildContext context,
MzansiProfileProvider mzansiProfileProvider, Widget? child) {
if (_isLoadingInitialData) {
return Scaffold(
body: Center(
child: Mihloadingcircle(),
),
);
}
// if (_isLoadingInitialData) {
// return Scaffold(
// body: Center(
// child: Mihloadingcircle(),
// ),
// );
// }
return MihPackage(
packageActionButton: getAction(),
packageTools: getTools(),

View file

@ -17,32 +17,32 @@ class MzansiProfile extends StatefulWidget {
}
class _MzansiProfileState extends State<MzansiProfile> {
bool _isLoadingInitialData = true;
// bool _isLoadingInitialData = true;
late final MihPersonalProfile _personalProfile;
late final MihPersonalQrCode _personalQrCode;
late final MihPersonalSettings _personalSettings;
Future<void> _loadInitialData() async {
MzansiProfileProvider mzansiProfileProvider =
context.read<MzansiProfileProvider>();
mzansiProfileProvider.loadCachedProfileState();
if (mzansiProfileProvider.user == null) {
mzansiProfileProvider.syncWithCloudPipeline();
}
setState(() {
_isLoadingInitialData = false;
});
}
// Future<void> _loadInitialData() async {
// MzansiProfileProvider mzansiProfileProvider =
// context.read<MzansiProfileProvider>();
// if (mzansiProfileProvider.user == null) {
// mzansiProfileProvider.loadCachedProfileState();
// mzansiProfileProvider.syncWithMihServerData();
// }
// setState(() {
// _isLoadingInitialData = false;
// });
// }
//
@override
void initState() {
super.initState();
_personalProfile = const MihPersonalProfile();
_personalQrCode = const MihPersonalQrCode(user: null);
_personalSettings = const MihPersonalSettings();
WidgetsBinding.instance.addPostFrameCallback((_) {
_loadInitialData();
});
// WidgetsBinding.instance.addPostFrameCallback((_) {
// _loadInitialData();
// });
}
@override
@ -50,13 +50,13 @@ class _MzansiProfileState extends State<MzansiProfile> {
return Consumer<MzansiProfileProvider>(
builder: (BuildContext context, MzansiProfileProvider profileProvider,
Widget? child) {
if (_isLoadingInitialData) {
return Scaffold(
body: Center(
child: Mihloadingcircle(),
),
);
}
// if (_isLoadingInitialData) {
// return Scaffold(
// body: Center(
// child: Mihloadingcircle(),
// ),
// );
// }
return MihPackage(
packageActionButton: getAction(),
packageTools: getTools(),