mymuseum-visitapp/lib/Models/visitContext.dart

52 lines
1.9 KiB
Dart

import 'package:flutter/material.dart';
import 'package:manager_api/api.dart';
import 'package:mymuseum_visitapp/Models/articleRead.dart';
import 'package:mymuseum_visitapp/Models/beaconSection.dart';
import 'package:mymuseum_visitapp/Models/resourceModel.dart';
class VisitAppContext with ChangeNotifier{
String? id = "";
String? language = "";
String? instanceId = "633ee379d9405f32f166f047"; // Hardcoded Fort de Saint-Héribert instance id
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;
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}';
}
}