58 lines
2.2 KiB
Dart
58 lines
2.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:manager_api_new/api.dart';
|
|
import 'package:mymuseum_visitapp/Models/articleRead.dart';
|
|
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
|
|
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
|
|
import 'package:mymuseum_visitapp/client.dart';
|
|
|
|
class VisitAppContext with ChangeNotifier {
|
|
Client clientAPI = Client("http://192.168.31.228:5000"); // Replace by https://api.mymuseum.be //http://192.168.31.140:8089 // https://api.myinfomate.be
|
|
|
|
String? id = "";
|
|
String? language = "";
|
|
String? instanceId = "63514fd67ed8c735aaa4b8f2"; // 63514fd67ed8c735aaa4b8f2 MyInfoMate test instance -- Fort de Saint-Héribert Mymuseum instance id : 633ee379d9405f32f166f047 // 63514fd67ed8c735aaa4b8f1 Mymuseum test // MDLF instance 65ccc67265373befd15be511
|
|
|
|
List<ConfigurationDTO>? configurations;
|
|
ConfigurationDTO? configuration;
|
|
List<String?>? sectionIds; // Use to valid QR code found
|
|
List<BeaconSection?>? beaconSections;
|
|
List<SectionDTO?>? currentSections;
|
|
List<SectionRead> readSections = [];
|
|
bool isContentCurrentlyShown = false;
|
|
bool isScanningBeacons = false;
|
|
bool isScanBeaconAlreadyAllowed = false;
|
|
bool isMaximizeTextSize = false;
|
|
|
|
List<ResourceModel> audiosNotWorking = [];
|
|
|
|
bool? isAdmin = false;
|
|
bool? isAllLanguages = false;
|
|
|
|
String? localPath;
|
|
|
|
VisitAppContext({this.language, this.id, this.configuration, this.isAdmin, this.isAllLanguages, this.instanceId});
|
|
|
|
Map<String, dynamic> toMap() {
|
|
return {
|
|
'id': id,
|
|
'instanceId': instanceId,
|
|
'language': language,
|
|
'isAdmin': isAdmin != null ? isAdmin! ? 1 : 0 : 0,
|
|
'isAllLanguages': isAllLanguages != null ? isAllLanguages! ? 1 : 0 : 0
|
|
};
|
|
}
|
|
|
|
factory VisitAppContext.fromJson(Map<String, dynamic> json) {
|
|
return VisitAppContext(
|
|
id: json['id'] as String,
|
|
instanceId: json['instanceId'] as String,
|
|
language: json['language'] as String,
|
|
configuration: json['configuration'] == null ? null : ConfigurationDTO.fromJson(json['configuration']),
|
|
);
|
|
}
|
|
|
|
@override
|
|
String toString() {
|
|
return 'VisitAppContext{id: $id, instanceId: $instanceId, language: $language, configuration: $configuration, beaconSections: $beaconSections, isAdmin: $isAdmin}';
|
|
}
|
|
} |