diff --git a/android/app/build.gradle b/android/app/build.gradle index 22064a5..acbfb99 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -32,7 +32,7 @@ apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 32 + compileSdkVersion 33 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 diff --git a/android/build.gradle b/android/build.gradle index 4256f91..713d7f6 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,12 +1,12 @@ buildscript { - ext.kotlin_version = '1.6.10' + ext.kotlin_version = '1.7.10' repositories { google() mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:4.1.0' + classpath 'com.android.tools.build:gradle:7.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } @@ -26,6 +26,6 @@ subprojects { project.evaluationDependsOn(':app') } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index bc6a58a..cfe88f6 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip diff --git a/assets/images/old/ar.png b/assets/images/old/ar.png new file mode 100644 index 0000000..395928c Binary files /dev/null and b/assets/images/old/ar.png differ diff --git a/assets/images/old/cn.png b/assets/images/old/cn.png new file mode 100644 index 0000000..344eab5 Binary files /dev/null and b/assets/images/old/cn.png differ diff --git a/assets/images/old/DE.png b/assets/images/old/de.png similarity index 100% rename from assets/images/old/DE.png rename to assets/images/old/de.png diff --git a/assets/images/old/EN.png b/assets/images/old/en.png similarity index 100% rename from assets/images/old/EN.png rename to assets/images/old/en.png diff --git a/assets/images/old/es.png b/assets/images/old/es.png new file mode 100644 index 0000000..f19308d Binary files /dev/null and b/assets/images/old/es.png differ diff --git a/assets/images/old/FR.png b/assets/images/old/fr.png similarity index 100% rename from assets/images/old/FR.png rename to assets/images/old/fr.png diff --git a/assets/images/old/it.png b/assets/images/old/it.png new file mode 100644 index 0000000..81013f0 Binary files /dev/null and b/assets/images/old/it.png differ diff --git a/assets/images/old/NL.png b/assets/images/old/nl.png similarity index 100% rename from assets/images/old/NL.png rename to assets/images/old/nl.png diff --git a/assets/images/old/pl.png b/assets/images/old/pl.png new file mode 100644 index 0000000..91d8931 Binary files /dev/null and b/assets/images/old/pl.png differ diff --git a/assets/images/old/uk.png b/assets/images/old/uk.png new file mode 100644 index 0000000..8219610 Binary files /dev/null and b/assets/images/old/uk.png differ diff --git a/lib/Components/CustomAppBar.dart b/lib/Components/CustomAppBar.dart index 0f55dd3..13f6378 100644 --- a/lib/Components/CustomAppBar.dart +++ b/lib/Components/CustomAppBar.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_widget_from_html/flutter_widget_from_html.dart'; import 'package:mymuseum_visitapp/Components/AdminPopup.dart'; import 'package:mymuseum_visitapp/Components/LanguageSelection.dart'; import 'package:mymuseum_visitapp/Models/visitContext.dart'; @@ -42,7 +43,7 @@ class _CustomAppBarState extends State { ), context: context ); }, - child: Text(widget.title), + child: HtmlWidget(widget.title), ), centerTitle: true, leading: widget.isHomeButton ? IconButton( diff --git a/lib/Components/LanguageSelection.dart b/lib/Components/LanguageSelection.dart index 1fe4687..e9ba842 100644 --- a/lib/Components/LanguageSelection.dart +++ b/lib/Components/LanguageSelection.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_svg_provider/flutter_svg_provider.dart'; +//import 'package:flutter_svg_provider/flutter_svg_provider.dart'; import 'package:manager_api/api.dart'; import 'package:mymuseum_visitapp/Models/visitContext.dart'; import 'package:mymuseum_visitapp/app_context.dart'; @@ -94,9 +94,9 @@ class _LanguageSelection extends State with TickerProviderSta //border: Border.all(width: 1.5, color: kSecondGrey), image: DecorationImage( fit: BoxFit.contain, - image: Svg( + image: AssetImage("assets/images/old/"+language.toLowerCase()+".png")/*Svg( "assets/images/"+language.toLowerCase()+".svg", - ), //AssetImage("assets/images/"+language+".png"), + )*/, //AssetImage("assets/images/"+language+".png"), ), boxShadow: const [ BoxShadow( diff --git a/lib/Components/ShowImagePopup.dart b/lib/Components/ShowImagePopup.dart index bc8d7c2..19c538b 100644 --- a/lib/Components/ShowImagePopup.dart +++ b/lib/Components/ShowImagePopup.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'package:flutter/material.dart'; +import 'package:flutter_widget_from_html/flutter_widget_from_html.dart'; import 'package:manager_api/api.dart'; import 'package:mymuseum_visitapp/Helpers/translationHelper.dart'; import 'package:mymuseum_visitapp/Models/resourceModel.dart'; @@ -21,9 +22,9 @@ void showImagePopup(ImageDTO imageDTO, ResourceModel resourceModel, AppContext a if(TranslationHelper.get(imageDTO.title, appContext.getContext()).isNotEmpty) Padding( padding: const EdgeInsets.only(top: 8.0, left:8.0, right: 8.0), - child: Text( + child: HtmlWidget( TranslationHelper.get(imageDTO.title, appContext.getContext()), - style: const TextStyle(fontSize: kArticleContentSize, fontWeight: FontWeight.w400)), + textStyle: const TextStyle(fontSize: kArticleContentSize, fontWeight: FontWeight.w400)), ), SizedBox( height: size.height * 0.5, diff --git a/lib/Screens/Article/article_page.dart b/lib/Screens/Article/article_page.dart index 075c741..a2bebbd 100644 --- a/lib/Screens/Article/article_page.dart +++ b/lib/Screens/Article/article_page.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'dart:typed_data'; import 'package:flutter/material.dart'; +import 'package:flutter_widget_from_html/flutter_widget_from_html.dart'; import 'package:manager_api/api.dart'; import 'package:mymuseum_visitapp/Components/CustomAppBar.dart'; import 'package:mymuseum_visitapp/Components/Loading.dart'; @@ -208,10 +209,10 @@ class _ArticlePageState extends State { child: SingleChildScrollView( child: Padding( padding: const EdgeInsets.all(8.0), - child: Text( + child: HtmlWidget( TranslationHelper.get(articleDTO!.content, appContext.getContext()), - textAlign: TextAlign.left, - style: TextStyle(fontSize: (appContext.getContext() as VisitAppContext).isMaximizeTextSize ? kArticleContentBiggerSize : kArticleContentSize) + textStyle: TextStyle(fontSize: (appContext.getContext() as VisitAppContext).isMaximizeTextSize ? kArticleContentBiggerSize : kArticleContentSize), + //textAlign: TextAlign.left, ), ), ) @@ -241,10 +242,10 @@ class _ArticlePageState extends State { child: SingleChildScrollView( child: Padding( padding: const EdgeInsets.all(8.0), - child: Text( + child: HtmlWidget( TranslationHelper.get(articleDTO!.content, appContext.getContext()), - textAlign: TextAlign.left, - style: TextStyle(fontSize: (appContext.getContext() as VisitAppContext).isMaximizeTextSize ? kArticleContentBiggerSize : kArticleContentSize) + //textAlign: TextAlign.left, + textStyle: TextStyle(fontSize: (appContext.getContext() as VisitAppContext).isMaximizeTextSize ? kArticleContentBiggerSize : kArticleContentSize) ), ), ) diff --git a/lib/Screens/Home/configurations_list.dart b/lib/Screens/Home/configurations_list.dart index 3c00e77..63dbfc0 100644 --- a/lib/Screens/Home/configurations_list.dart +++ b/lib/Screens/Home/configurations_list.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'package:auto_size_text/auto_size_text.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_widget_from_html/flutter_widget_from_html.dart'; import 'package:manager_api/api.dart'; import 'package:mymuseum_visitapp/Components/LanguageSelection.dart'; import 'package:mymuseum_visitapp/Components/Loading.dart'; @@ -194,14 +195,15 @@ class _ConfigurationsListState extends State { child: Center( child: Padding( padding: const EdgeInsets.only(left: 10), - child: AutoSizeText( + child: HtmlWidget( TranslationHelper.get( configurations[index].title, appContext.getContext()), - style: const TextStyle( - fontSize: kMenuTitleDetailSize), - maxFontSize: 18, - maxLines: 2, + textStyle: const TextStyle( + fontSize: kMenuDescriptionDetailSize, + ), + /*maxFontSize: 18, + maxLines: 2,*/ ), ), ), diff --git a/lib/Screens/Quizz/questions_list.dart b/lib/Screens/Quizz/questions_list.dart index 3c4557b..6b0fca2 100644 --- a/lib/Screens/Quizz/questions_list.dart +++ b/lib/Screens/Quizz/questions_list.dart @@ -1,6 +1,7 @@ import 'package:carousel_slider/carousel_slider.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_widget_from_html/flutter_widget_from_html.dart'; import 'package:mymuseum_visitapp/Helpers/translationHelper.dart'; import 'package:mymuseum_visitapp/Models/ResponseSubDTO.dart'; import 'package:mymuseum_visitapp/Models/visitContext.dart'; @@ -141,7 +142,13 @@ class _QuestionsListWidget extends State { child: SingleChildScrollView( child: Padding( padding: const EdgeInsets.all(2.5), - child: Text(TranslationHelper.get(i.label, appContext.getContext() as VisitAppContext), textAlign: TextAlign.center, style: const TextStyle(fontSize: kDescriptionSize)), + child: HtmlWidget( + TranslationHelper.get(i.label, appContext.getContext() as VisitAppContext), + //textAlign: TextAlign.center, + customStylesBuilder: (element) { + return {'text-align': 'center'}; + }, + textStyle: const TextStyle(fontSize: kDescriptionSize)), ), ), ), @@ -203,7 +210,13 @@ class _QuestionsListWidget extends State { padding: const EdgeInsets.all(2.5), child: Container( alignment: Alignment.center, - child: Text(TranslationHelper.get(i.responsesSubDTO![index].label, appContext.getContext() as VisitAppContext), textAlign: TextAlign.center, style: TextStyle(fontSize: kDescriptionSize, color: i.chosen == index ? Colors.white : Colors.black)), + child: HtmlWidget( + TranslationHelper.get(i.responsesSubDTO![index].label, appContext.getContext() as VisitAppContext), + //textAlign: TextAlign.center, + customStylesBuilder: (element) { + return {'text-align': 'center'}; + }, + textStyle: TextStyle(fontSize: kDescriptionSize, color: i.chosen == index ? Colors.white : Colors.black)), decoration: BoxDecoration( color: !widget.isShowResponse ? i.chosen == index ? kTestSecondColor : kBackgroundLight : i.responsesSubDTO![index].isGood! ? kGreen : i.chosen == index ? kTextRed : kBackgroundLight, shape: BoxShape.rectangle, diff --git a/lib/Screens/Visit/beaconArticleFound.dart b/lib/Screens/Visit/beaconArticleFound.dart index c110560..c1846be 100644 --- a/lib/Screens/Visit/beaconArticleFound.dart +++ b/lib/Screens/Visit/beaconArticleFound.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'package:flutter/material.dart'; +import 'package:flutter_widget_from_html/flutter_widget_from_html.dart'; import 'package:manager_api/api.dart'; import 'package:mymuseum_visitapp/Components/Loading.dart'; import 'package:mymuseum_visitapp/Components/SearchBox.dart'; @@ -94,8 +95,13 @@ class _BeaconArticleFoundState extends State { ), Align( alignment: Alignment.center, - child: Text( - TranslationHelper.get(sectionFound!.title, appContext.getContext()), style: const TextStyle(fontSize: kMenuTitleDetailSize), textAlign: TextAlign.center, + child: HtmlWidget( + TranslationHelper.get(sectionFound!.title, appContext.getContext()), + textStyle: const TextStyle(fontSize: kMenuTitleDetailSize), + customStylesBuilder: (element) { + return {'text-align': 'center'}; + }, + //textAlign: TextAlign.center, ), ), /*Row( diff --git a/lib/Screens/Visit/components/section_card.dart b/lib/Screens/Visit/components/section_card.dart index 3e2bc50..5fca7fa 100644 --- a/lib/Screens/Visit/components/section_card.dart +++ b/lib/Screens/Visit/components/section_card.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'package:flutter/material.dart'; +import 'package:flutter_widget_from_html/flutter_widget_from_html.dart'; import 'package:manager_api/api.dart'; import 'package:mymuseum_visitapp/Components/Loading.dart'; import 'package:mymuseum_visitapp/Helpers/DatabaseHelper.dart'; @@ -133,17 +134,18 @@ class SectionCard extends StatelessWidget { child: SizedBox( height: 136, // our image take 200 width, thats why we set out total width - 200 - width: size.width - 200, + width: sectionDTO.imageId == null ? size.width - 75 : size.width - 200, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ const Spacer(), Padding( padding: const EdgeInsets.symmetric(horizontal: kDefaultPadding), - child: Text( + child: HtmlWidget(TranslationHelper.get(sectionDTO.title, appContext.getContext())) + /*Text( TranslationHelper.get(sectionDTO.title, appContext.getContext()), style: Theme.of(context).textTheme.button, - ), + )*/, ), // it use the available space const Spacer(), diff --git a/lib/Screens/Visit/visit.dart b/lib/Screens/Visit/visit.dart index 40fbeef..95f3f96 100644 --- a/lib/Screens/Visit/visit.dart +++ b/lib/Screens/Visit/visit.dart @@ -169,39 +169,44 @@ class _VisitPageState extends State with WidgetsBindingObserver { if(result.beacons.isNotEmpty) { print(result); print(result.beacons.map((b) => b.macAddress)); - print(visitAppContext.beaconSections!.map((bb) => bb!.minorBeaconId)); - var beaconList = visitAppContext.beaconSections!.where((bs) => result.beacons.any((element) => element.minor == bs!.minorBeaconId && element.accuracy < meterToBeacon)); - - if(beaconList.isNotEmpty) { - // FILTER CONFIG - beaconList = beaconList.where((beacon) => beacon!.configurationId == visitAppContext.configuration!.id!); - } - - if(beaconList.isNotEmpty && !modeDebugBeacon) { - // FILTER ALREADY READ - beaconList = beaconList.where((b) => !visitAppContext.readSections.any((ra) => ra.id == b!.sectionId)); - } - - if(beaconList.isNotEmpty) + if(visitAppContext.beaconSections != null) { - var milliLastTime = lastTimePopUpWasClosed == null ? 0 : lastTimePopUpWasClosed!.millisecondsSinceEpoch; - var checkIfMoreThanSec = (DateTime.now().millisecondsSinceEpoch - milliLastTime) > timeBetweenBeaconPopUp; + print(visitAppContext.beaconSections!.map((bb) => bb!.minorBeaconId)); + var beaconList = visitAppContext.beaconSections!.where((bs) => result.beacons.any((element) => element.minor == bs!.minorBeaconId && element.accuracy < meterToBeacon)); - if(!_isDialogShowing && !visitAppContext.isContentCurrentlyShown && checkIfMoreThanSec && visitAppContext.isScanningBeacons) { - print("Before sorting"); - print(beaconList); - beaconList.toList().sort((a, b) => a!.orderInConfig!.compareTo(b!.orderInConfig!)); - print("after storting"); - print(beaconList); - _onBeaconFound(visitAppContext, beaconList.first); - } else { - print("Non pas possible d'afficher pour le moment"); + if(beaconList.isNotEmpty) { + // FILTER CONFIG + beaconList = beaconList.where((beacon) => beacon!.configurationId == visitAppContext.configuration!.id!); } - /*ScaffoldMessenger.of(context).showSnackBar( + if(beaconList.isNotEmpty && !modeDebugBeacon) { + // FILTER ALREADY READ + beaconList = beaconList.where((b) => !visitAppContext.readSections.any((ra) => ra.id == b!.sectionId)); + } + + if(beaconList.isNotEmpty) + { + var milliLastTime = lastTimePopUpWasClosed == null ? 0 : lastTimePopUpWasClosed!.millisecondsSinceEpoch; + var checkIfMoreThanSec = (DateTime.now().millisecondsSinceEpoch - milliLastTime) > timeBetweenBeaconPopUp; + + if(!_isDialogShowing && !visitAppContext.isContentCurrentlyShown && checkIfMoreThanSec && visitAppContext.isScanningBeacons) { + print("Before sorting"); + print(beaconList); + beaconList.toList().sort((a, b) => a!.orderInConfig!.compareTo(b!.orderInConfig!)); + print("after storting"); + print(beaconList); + _onBeaconFound(visitAppContext, beaconList.first); + } else { + print("Non pas possible d'afficher pour le moment"); + } + + /*ScaffoldMessenger.of(context).showSnackBar( SnackBar(content: Text('BEACON - ${result.beacons.first.macAddress} - ${result.beacons.first.accuracy} - ${result.beacons.first.proximity.name}'), backgroundColor: kBlue2), );*/ + } + } else { + print("beaconSections is null !"); } } @@ -355,7 +360,7 @@ class _VisitPageState extends State with WidgetsBindingObserver { body: Body(configurationId: configuration!.id), // TODO handle error.. floatingActionButton: Stack( children: [ - visitAppContext.beaconSections!.where((bs) => bs!.configurationId == visitAppContext.configuration!.id).isNotEmpty ? Align( + visitAppContext.beaconSections != null && visitAppContext.beaconSections!.where((bs) => bs!.configurationId == visitAppContext.configuration!.id).isNotEmpty ? Align( alignment: Alignment.bottomRight, child: Padding( padding: const EdgeInsets.only(right: 90, bottom: 1), diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index e71a16d..f6f23bf 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -6,6 +6,10 @@ #include "generated_plugin_registrant.h" +#include void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); + url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); } diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 2e1de87..f16b4c3 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -3,6 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST + url_launcher_linux ) list(APPEND FLUTTER_FFI_PLUGIN_LIST diff --git a/manager_api/pubspec.yaml b/manager_api/pubspec.yaml index 67848de..99a0f1b 100644 --- a/manager_api/pubspec.yaml +++ b/manager_api/pubspec.yaml @@ -10,7 +10,7 @@ environment: sdk: '>=2.12.0 <3.0.0' dependencies: http: '>=0.13.0 <0.14.0' - intl: '^0.17.0' + intl: any meta: '^1.1.8' dev_dependencies: test: '>=1.16.0 <1.18.0' diff --git a/pubspec.lock b/pubspec.lock index b1267c7..d0ee74d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -37,18 +37,18 @@ packages: dependency: transitive description: name: async - sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" url: "https://pub.dev" source: hosted - version: "2.10.0" + version: "2.11.0" audio_session: dependency: transitive description: name: audio_session - sha256: e4acc4e9eaa32436dfc5d7aed7f0a370f2d7bb27ee27de30d6c4f220c2a05c73 + sha256: "8a2bc5e30520e18f3fb0e366793d78057fb64cd5287862c76af0c8771f2a52ad" url: "https://pub.dev" source: hosted - version: "0.1.13" + version: "0.1.16" auto_size_text: dependency: "direct main" description: @@ -129,6 +129,30 @@ packages: url: "https://pub.dev" source: hosted version: "8.4.3" + cached_network_image: + dependency: transitive + description: + name: cached_network_image + sha256: fd3d0dc1d451f9a252b32d95d3f0c3c487bc41a75eba2e6097cb0b9c71491b15 + url: "https://pub.dev" + source: hosted + version: "3.2.3" + cached_network_image_platform_interface: + dependency: transitive + description: + name: cached_network_image_platform_interface + sha256: bb2b8403b4ccdc60ef5f25c70dead1f3d32d24b9d6117cfc087f496b178594a7 + url: "https://pub.dev" + source: hosted + version: "2.0.0" + cached_network_image_web: + dependency: transitive + description: + name: cached_network_image_web + sha256: b8eb814ebfcb4dea049680f8c1ffb2df399e4d03bf7a352c775e26fa06e02fa0 + url: "https://pub.dev" + source: hosted + version: "1.0.2" carousel_slider: dependency: "direct main" description: @@ -141,10 +165,10 @@ packages: dependency: transitive description: name: characters - sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.3.0" checked_yaml: dependency: transitive description: @@ -153,6 +177,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.2" + chewie: + dependency: transitive + description: + name: chewie + sha256: "745e81e84c6d7f3835f89f85bb49771c0a66099e4caf8f8e9e9a372bc66fb2c1" + url: "https://pub.dev" + source: hosted + version: "1.5.0" cli_util: dependency: transitive description: @@ -181,10 +213,10 @@ packages: dependency: transitive description: name: collection - sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 url: "https://pub.dev" source: hosted - version: "1.17.0" + version: "1.17.2" convert: dependency: transitive description: @@ -201,6 +233,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.2" + csslib: + dependency: transitive + description: + name: csslib + sha256: "831883fb353c8bdc1d71979e5b342c7d88acfbc643113c14ae51e2442ea0f20f" + url: "https://pub.dev" + source: hosted + version: "0.17.3" cupertino_icons: dependency: "direct main" description: @@ -270,6 +310,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.1" + flutter_blurhash: + dependency: transitive + description: + name: flutter_blurhash + sha256: "05001537bd3fac7644fa6558b09ec8c0a3f2eba78c0765f88912882b1331a5c6" + url: "https://pub.dev" + source: hosted + version: "0.7.0" + flutter_cache_manager: + dependency: transitive + description: + name: flutter_cache_manager + sha256: "32cd900555219333326a2d0653aaaf8671264c29befa65bbd9856d204a4c9fb3" + url: "https://pub.dev" + source: hosted + version: "3.3.0" flutter_launcher_icons: dependency: "direct main" description: @@ -295,18 +351,10 @@ packages: dependency: transitive description: name: flutter_svg - sha256: "6ff9fa12892ae074092de2fa6a9938fb21dbabfdaa2ff57dc697ff912fc8d4b2" + sha256: f991fdb1533c3caeee0cdc14b04f50f0c3916f0dbcbc05237ccbe4e3c6b93f3f url: "https://pub.dev" source: hosted - version: "1.1.6" - flutter_svg_provider: - dependency: "direct main" - description: - name: flutter_svg_provider - sha256: cbb2d02fd9feb70fc30221fc36a7ee5347f1cceae6b0c99ab4fa011bbd9f1f7f - url: "https://pub.dev" - source: hosted - version: "1.0.3" + version: "2.0.5" flutter_test: dependency: "direct dev" description: flutter @@ -317,6 +365,22 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_widget_from_html: + dependency: "direct main" + description: + name: flutter_widget_from_html + sha256: "9a51be2a49bee770d5f26a9d1d9352f5156791dba83567fed096745de859a57b" + url: "https://pub.dev" + source: hosted + version: "0.10.1" + flutter_widget_from_html_core: + dependency: transitive + description: + name: flutter_widget_from_html_core + sha256: "77f05cd7a738078dcdbe07741140d58b2fe7509197f3855a91269fb5a90f4bee" + url: "https://pub.dev" + source: hosted + version: "0.10.1" frontend_server_client: dependency: transitive description: @@ -325,6 +389,62 @@ packages: url: "https://pub.dev" source: hosted version: "3.2.0" + fwfh_cached_network_image: + dependency: transitive + description: + name: fwfh_cached_network_image + sha256: "396ebb3a01978aa75cad416656abef6ffa31e12de71cf2ccf5ff4173bd35a3eb" + url: "https://pub.dev" + source: hosted + version: "0.7.0+5" + fwfh_chewie: + dependency: transitive + description: + name: fwfh_chewie + sha256: "6474630c084cc90fbd348cea007d3cb41d62478460f75364e591f2baf26abccd" + url: "https://pub.dev" + source: hosted + version: "0.7.1+2" + fwfh_just_audio: + dependency: transitive + description: + name: fwfh_just_audio + sha256: "7b97696c264f36f7921c2f94e95c1d4186021699d85ca19aaa280f6b9700fb35" + url: "https://pub.dev" + source: hosted + version: "0.9.0+2" + fwfh_svg: + dependency: transitive + description: + name: fwfh_svg + sha256: "398e8eec980e7b2868481489fd423634f7e337bc04c37508db6f84868b982120" + url: "https://pub.dev" + source: hosted + version: "0.8.0+2" + fwfh_text_style: + dependency: transitive + description: + name: fwfh_text_style + sha256: f0883ccb64b7bb3f2a7a091542c2e834fc3e2a6aa54158f46b3c43b55675d8f7 + url: "https://pub.dev" + source: hosted + version: "2.22.8+3" + fwfh_url_launcher: + dependency: transitive + description: + name: fwfh_url_launcher + sha256: ff7f7a877c20fdbea24b453a0cd846a03ef1ea6b933943a7d37082388c27e849 + url: "https://pub.dev" + source: hosted + version: "0.9.0+2" + fwfh_webview: + dependency: transitive + description: + name: fwfh_webview + sha256: "7ebd3dff551d7281dd3fbb9f5523a8455592665ff75459ca84871ebbebe864a8" + url: "https://pub.dev" + source: hosted + version: "0.7.0+2" get: dependency: "direct main" description: @@ -349,6 +469,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.2.0" + html: + dependency: transitive + description: + name: html + sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a" + url: "https://pub.dev" + source: hosted + version: "0.15.4" http: dependency: transitive description: @@ -385,10 +513,10 @@ packages: dependency: "direct main" description: name: intl - sha256: "910f85bce16fb5c6f614e117efa303e85a1731bb0081edf3604a2ae6e9a3cc91" + sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" url: "https://pub.dev" source: hosted - version: "0.17.0" + version: "0.18.1" io: dependency: transitive description: @@ -401,10 +529,10 @@ packages: dependency: transitive description: name: js - sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 url: "https://pub.dev" source: hosted - version: "0.6.5" + version: "0.6.7" json_annotation: dependency: transitive description: @@ -417,26 +545,26 @@ packages: dependency: "direct main" description: name: just_audio - sha256: "7a5057a4d05c8f88ee968cec6fdfe1015577d5184e591d5ac15ab16d8f5ecb17" + sha256: "890cd0fc41a1a4530c171e375a2a3fb6a09d84e9d508c5195f40bcff54330327" url: "https://pub.dev" source: hosted - version: "0.9.31" + version: "0.9.34" just_audio_platform_interface: dependency: transitive description: name: just_audio_platform_interface - sha256: eff112d5138bea3ba544b6338b1e0537a32b5e1425e4d0dc38f732771cda7c84 + sha256: d8409da198bbc59426cd45d4c92fca522a2ec269b576ce29459d6d6fcaeb44df url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "4.2.1" just_audio_web: dependency: transitive description: name: just_audio_web - sha256: "89d8db6f19f3821bb6bf908c4bfb846079afb2ab575b783d781a6bf119e3abaf" + sha256: ff62f733f437b25a0ff590f0e295fa5441dcb465f1edbdb33b3dea264705bc13 url: "https://pub.dev" source: hosted - version: "0.4.7" + version: "0.4.8" lints: dependency: transitive description: @@ -464,26 +592,26 @@ packages: dependency: transitive description: name: matcher - sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.13" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.5.0" meta: dependency: transitive description: name: meta - sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.9.1" mime: dependency: transitive description: @@ -500,6 +628,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" + octo_image: + dependency: transitive + description: + name: octo_image + sha256: "107f3ed1330006a3bea63615e81cf637433f5135a52466c7caa0e7152bca9143" + url: "https://pub.dev" + source: hosted + version: "1.0.2" openapi_generator: dependency: "direct main" description: @@ -536,18 +672,10 @@ packages: dependency: transitive description: name: path - sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" url: "https://pub.dev" source: hosted - version: "1.8.2" - path_drawing: - dependency: transitive - description: - name: path_drawing - sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977 - url: "https://pub.dev" - source: hosted - version: "1.0.1" + version: "1.8.3" path_parsing: dependency: transitive description: @@ -604,6 +732,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.3" + pedantic: + dependency: transitive + description: + name: pedantic + sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602" + url: "https://pub.dev" + source: hosted + version: "1.11.1" permission_handler: dependency: "direct main" description: @@ -680,10 +816,10 @@ packages: dependency: "direct main" description: name: provider - sha256: "59471e0a4595e264625d3496af567ac85bdae1148ec985aff1e0555786f53ecf" + sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "6.0.5" pub_semver: dependency: transitive description: @@ -749,18 +885,18 @@ packages: dependency: transitive description: name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" sqflite: dependency: "direct main" description: name: sqflite - sha256: "78324387dc81df14f78df06019175a86a2ee0437624166c382e145d0a7fd9a4f" + sha256: "851d5040552cf911f4cabda08d003eca76b27da3ed0002978272e27c8fbf8ecc" url: "https://pub.dev" source: hosted - version: "2.2.4+1" + version: "2.2.5" sqflite_common: dependency: transitive description: @@ -821,10 +957,10 @@ packages: dependency: transitive description: name: test_api - sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" url: "https://pub.dev" source: hosted - version: "0.4.16" + version: "0.6.0" timing: dependency: transitive description: @@ -841,6 +977,70 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.1" + url_launcher: + dependency: transitive + description: + name: url_launcher + sha256: eb1e00ab44303d50dd487aab67ebc575456c146c6af44422f9c13889984c00f3 + url: "https://pub.dev" + source: hosted + version: "6.1.11" + url_launcher_android: + dependency: transitive + description: + name: url_launcher_android + sha256: eed4e6a1164aa9794409325c3b707ff424d4d1c2a785e7db67f8bbda00e36e51 + url: "https://pub.dev" + source: hosted + version: "6.0.35" + url_launcher_ios: + dependency: transitive + description: + name: url_launcher_ios + sha256: "9af7ea73259886b92199f9e42c116072f05ff9bea2dcb339ab935dfc957392c2" + url: "https://pub.dev" + source: hosted + version: "6.1.4" + url_launcher_linux: + dependency: transitive + description: + name: url_launcher_linux + sha256: "207f4ddda99b95b4d4868320a352d374b0b7e05eefad95a4a26f57da413443f5" + url: "https://pub.dev" + source: hosted + version: "3.0.5" + url_launcher_macos: + dependency: transitive + description: + name: url_launcher_macos + sha256: "91ee3e75ea9dadf38036200c5d3743518f4a5eb77a8d13fda1ee5764373f185e" + url: "https://pub.dev" + source: hosted + version: "3.0.5" + url_launcher_platform_interface: + dependency: transitive + description: + name: url_launcher_platform_interface + sha256: "6c9ca697a5ae218ce56cece69d46128169a58aa8653c1b01d26fcd4aad8c4370" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + url_launcher_web: + dependency: transitive + description: + name: url_launcher_web + sha256: "6bb1e5d7fe53daf02a8fee85352432a40b1f868a81880e99ec7440113d5cfcab" + url: "https://pub.dev" + source: hosted + version: "2.0.17" + url_launcher_windows: + dependency: transitive + description: + name: url_launcher_windows + sha256: "254708f17f7c20a9c8c471f67d86d76d4a3f9c1591aad1e15292008aceb82771" + url: "https://pub.dev" + source: hosted + version: "3.0.6" uuid: dependency: transitive description: @@ -849,6 +1049,30 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.7" + vector_graphics: + dependency: transitive + description: + name: vector_graphics + sha256: ea8d3fc7b2e0f35de38a7465063ecfcf03d8217f7962aa2a6717132cb5d43a79 + url: "https://pub.dev" + source: hosted + version: "1.1.5" + vector_graphics_codec: + dependency: transitive + description: + name: vector_graphics_codec + sha256: a5eaa5d19e123ad4f61c3718ca1ed921c4e6254238d9145f82aa214955d9aced + url: "https://pub.dev" + source: hosted + version: "1.1.5" + vector_graphics_compiler: + dependency: transitive + description: + name: vector_graphics_compiler + sha256: "15edc42f7eaa478ce854eaf1fbb9062a899c0e4e56e775dd73b7f4709c97c4ca" + url: "https://pub.dev" + source: hosted + version: "1.1.5" vector_math: dependency: transitive description: @@ -857,6 +1081,86 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + video_player: + dependency: transitive + description: + name: video_player + sha256: de95f0e9405f29b5582573d4166132e71f83b3158aac14e8ee5767a54f4f1fbd + url: "https://pub.dev" + source: hosted + version: "2.6.1" + video_player_android: + dependency: transitive + description: + name: video_player_android + sha256: f338a5a396c845f4632959511cad3542cdf3167e1b2a1a948ef07f7123c03608 + url: "https://pub.dev" + source: hosted + version: "2.4.9" + video_player_avfoundation: + dependency: transitive + description: + name: video_player_avfoundation + sha256: "4c274e439f349a0ee5cb3c42978393ede173a443b98f50de6ffe6900eaa19216" + url: "https://pub.dev" + source: hosted + version: "2.4.6" + video_player_platform_interface: + dependency: transitive + description: + name: video_player_platform_interface + sha256: a8c4dcae2a7a6e7cc1d7f9808294d968eca1993af34a98e95b9bdfa959bec684 + url: "https://pub.dev" + source: hosted + version: "6.1.0" + video_player_web: + dependency: transitive + description: + name: video_player_web + sha256: "44ce41424d104dfb7cf6982cc6b84af2b007a24d126406025bf40de5d481c74c" + url: "https://pub.dev" + source: hosted + version: "2.0.16" + wakelock: + dependency: transitive + description: + name: wakelock + sha256: "769ecf42eb2d07128407b50cb93d7c10bd2ee48f0276ef0119db1d25cc2f87db" + url: "https://pub.dev" + source: hosted + version: "0.6.2" + wakelock_macos: + dependency: transitive + description: + name: wakelock_macos + sha256: "047c6be2f88cb6b76d02553bca5a3a3b95323b15d30867eca53a19a0a319d4cd" + url: "https://pub.dev" + source: hosted + version: "0.4.0" + wakelock_platform_interface: + dependency: transitive + description: + name: wakelock_platform_interface + sha256: "1f4aeb81fb592b863da83d2d0f7b8196067451e4df91046c26b54a403f9de621" + url: "https://pub.dev" + source: hosted + version: "0.3.0" + wakelock_web: + dependency: transitive + description: + name: wakelock_web + sha256: "1b256b811ee3f0834888efddfe03da8d18d0819317f20f6193e2922b41a501b5" + url: "https://pub.dev" + source: hosted + version: "0.4.0" + wakelock_windows: + dependency: transitive + description: + name: wakelock_windows + sha256: "857f77b3fe6ae82dd045455baa626bc4b93cb9bb6c86bf3f27c182167c3a5567" + url: "https://pub.dev" + source: hosted + version: "0.2.1" watcher: dependency: transitive description: @@ -865,6 +1169,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.2" + web: + dependency: transitive + description: + name: web + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + url: "https://pub.dev" + source: hosted + version: "0.1.4-beta" web_socket_channel: dependency: transitive description: @@ -873,6 +1185,38 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.0" + webview_flutter: + dependency: transitive + description: + name: webview_flutter + sha256: "789d52bd789373cc1e100fb634af2127e86c99cf9abde09499743270c5de8d00" + url: "https://pub.dev" + source: hosted + version: "4.2.2" + webview_flutter_android: + dependency: transitive + description: + name: webview_flutter_android + sha256: "532135f6f6b8030cd039f30eab23f340d650350e29f38e9b37d2eaad028f1018" + url: "https://pub.dev" + source: hosted + version: "3.8.0" + webview_flutter_platform_interface: + dependency: transitive + description: + name: webview_flutter_platform_interface + sha256: "656e2aeaef318900fffd21468b6ddc7958c7092a642f0e7220bac328b70d4a81" + url: "https://pub.dev" + source: hosted + version: "2.3.1" + webview_flutter_wkwebview: + dependency: transitive + description: + name: webview_flutter_wkwebview + sha256: ecc9e9ea15216afc5ba3b1f14aa19414ceba526e57b19cebd970bfa91a0f4058 + url: "https://pub.dev" + source: hosted + version: "3.5.0" win32: dependency: transitive description: @@ -906,5 +1250,5 @@ packages: source: hosted version: "3.1.1" sdks: - dart: ">=2.19.0 <3.0.0" - flutter: ">=3.3.0" + dart: ">=3.1.0-185.0.dev <4.0.0" + flutter: ">=3.7.0" diff --git a/pubspec.yaml b/pubspec.yaml index 7a985a3..4dd87dd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.9+18 environment: - sdk: ">=2.16.2 <3.0.0" + sdk: ">=2.19.4 <3.0.0" # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -37,18 +37,19 @@ dependencies: openapi_generator: ^4.0.0 openapi_generator_annotations: ^4.0.0 sqflite: - provider: ^5.0.0 - carousel_slider: ^4.0.0 - flutter_svg_provider: ^1.0.3 + provider: ^6.0.5 + carousel_slider: ^4.2.1 + #flutter_svg_provider: ^1.0.3 photo_view: ^0.14.0 - intl: ^0.17.0 + intl: ^0.18.0 flutter_launcher_icons: ^0.10.0 #audioplayers: ^2.0.0 - just_audio: ^0.9.31 + just_audio: ^0.9.34 flutter_beacon: ^0.5.1 get: ^4.6.5 permission_handler: ^8.2.4 diacritic: ^0.1.3 + flutter_widget_from_html: ^0.10.1 manager_api: path: manager_api @@ -84,6 +85,7 @@ flutter: assets: #- assets/icons/ - assets/images/ + - assets/images/old/ #- assets/animations/ #- assets/files/ # To add assets to your application, add an assets section, like this: