Add cursor to slider in map + show results in quizz + upgrade version in pub

This commit is contained in:
Fransolet Thomas 2022-11-03 17:45:16 +01:00
parent 646b5c55e4
commit 9f9d8fdda8
10 changed files with 537 additions and 155 deletions

Binary file not shown.

View File

@ -32,7 +32,7 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android { android {
compileSdkVersion 31 compileSdkVersion 33
sourceSets { sourceSets {
main.java.srcDirs += 'src/main/kotlin' main.java.srcDirs += 'src/main/kotlin'

View File

@ -16,6 +16,20 @@ class MarkerViewWidget extends StatefulWidget {
class _MarkerInfoWidget extends State<MarkerViewWidget> { class _MarkerInfoWidget extends State<MarkerViewWidget> {
Size sizeScreen = new Size(1080.0, 1920.0); // Tablet resolution Size sizeScreen = new Size(1080.0, 1920.0); // Tablet resolution
CarouselController sliderController;
int currentIndex = 1;
@override
void initState() {
sliderController = CarouselController();
super.initState();
}
@override
void dispose() {
sliderController = null;
super.dispose();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -90,15 +104,24 @@ class _MarkerInfoWidget extends State<MarkerViewWidget> {
Padding( Padding(
padding: const EdgeInsets.only(top: 75), padding: const EdgeInsets.only(top: 75),
child: Center( child: Center(
child: Column( child: Stack(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceEvenly, mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [ children: [
if(mapContext.getSelectedMarker().images != null && mapContext.getSelectedMarker().images.length > 0) if(mapContext.getSelectedMarker().images != null && mapContext.getSelectedMarker().images.length > 0)
CarouselSlider( CarouselSlider(
carouselController: sliderController,
options: CarouselOptions( options: CarouselOptions(
onPageChanged: (int index, CarouselPageChangedReason reason) {
setState(() {
currentIndex = index + 1;
});
},
height: size.height *0.3, height: size.height *0.3,
enlargeCenterPage: true, enlargeCenterPage: true,
pageSnapping: true,
reverse: false, reverse: false,
), ),
items: mapContext.getSelectedMarker().images.map<Widget>((i) { items: mapContext.getSelectedMarker().images.map<Widget>((i) {
@ -175,6 +198,40 @@ class _MarkerInfoWidget extends State<MarkerViewWidget> {
), ),
] ]
), ),
if(mapContext.getSelectedMarker().images != null && mapContext.getSelectedMarker().images.length > 1)
Positioned(
top: MediaQuery.of(context).size.height * 0.125,
right: -10,
child: InkWell(
onTap: () {
if (mapContext.getSelectedMarker().images.length > 0)
sliderController.nextPage(duration: new Duration(milliseconds: 500), curve: Curves.fastOutSlowIn);
},
child: Icon(
Icons.chevron_right,
size: 150,
color: kMainRed,
),
)
),
if(mapContext.getSelectedMarker().images != null && mapContext.getSelectedMarker().images.length > 1)
Positioned(
top: MediaQuery.of(context).size.height * 0.125,
left: -10,
child: InkWell(
onTap: () {
if (mapContext.getSelectedMarker().images.length > 0)
sliderController.previousPage(duration: new Duration(milliseconds: 500), curve: Curves.fastOutSlowIn);
},
child: Icon(
Icons.chevron_left,
size: 150,
color: kMainRed,
),
)
),
],
),
), ),
), ),
]) ])

View File

@ -8,6 +8,7 @@ import 'package:managerapi/api.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:tablet_app/Components/Buttons/rounded_button.dart'; import 'package:tablet_app/Components/Buttons/rounded_button.dart';
import 'package:tablet_app/Models/ResponseSubDTO.dart'; import 'package:tablet_app/Models/ResponseSubDTO.dart';
import 'package:tablet_app/Screens/Quizz/showResponses.dart';
import 'package:tablet_app/app_context.dart'; import 'package:tablet_app/app_context.dart';
import 'package:tablet_app/constants.dart'; import 'package:tablet_app/constants.dart';
@ -30,6 +31,7 @@ class _QuizzViewWidget extends State<QuizzViewWidget> {
CarouselController sliderController; CarouselController sliderController;
int currentIndex = 1; int currentIndex = 1;
bool showResult = false; bool showResult = false;
bool showResponses = false;
@override @override
void initState() { void initState() {
@ -38,6 +40,7 @@ class _QuizzViewWidget extends State<QuizzViewWidget> {
_controllerCenter = ConfettiController(duration: const Duration(seconds: 10)); _controllerCenter = ConfettiController(duration: const Duration(seconds: 10));
sliderController = CarouselController(); sliderController = CarouselController();
quizzDTO = QuizzDTO.fromJson(jsonDecode(widget.section.data)); quizzDTO = QuizzDTO.fromJson(jsonDecode(widget.section.data));
quizzDTO.questions.sort((a, b) => a.order.compareTo(b.order)); quizzDTO.questions.sort((a, b) => a.order.compareTo(b.order));
@ -105,7 +108,7 @@ class _QuizzViewWidget extends State<QuizzViewWidget> {
), ),
), ),
), ),
if (levelToShow?.source_ != null) if (!showResponses && levelToShow?.source_ != null)
Container( Container(
//height: size.height * 0.2, //height: size.height * 0.2,
//width: size.width * 0.25, //width: size.width * 0.25,
@ -153,7 +156,7 @@ class _QuizzViewWidget extends State<QuizzViewWidget> {
child: Padding( child: Padding(
padding: const EdgeInsets.only(bottom: 10), padding: const EdgeInsets.only(bottom: 10),
child: Container( child: Container(
width: MediaQuery.of(context).size.width *0.65, width: MediaQuery.of(context).size.width *0.75,
height: MediaQuery.of(context).size.height *0.25, height: MediaQuery.of(context).size.height *0.25,
decoration: BoxDecoration( decoration: BoxDecoration(
color: kBackgroundLight, color: kBackgroundLight,
@ -182,10 +185,36 @@ class _QuizzViewWidget extends State<QuizzViewWidget> {
), ),
), ),
), ),
if(showResponses)
Container(
child: Container(
width: MediaQuery.of(context).size.width *0.75,
height: MediaQuery.of(context).size.height *0.35,
decoration: BoxDecoration(
color: kBackgroundLight,
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(10.0),
boxShadow: [
BoxShadow(
color: kBackgroundSecondGrey,
spreadRadius: 0.3,
blurRadius: 4,
offset: Offset(0, 2), // changes position of shadow
),
],
),
child: Center(
child: Container(
width: double.infinity,
child: ShowReponsesWidget(questionsSubDTO: _questionsSubDTO),
),
),
),
),
// Buttons // Buttons
Container( Container(
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment: MainAxisAlignment.spaceEvenly,
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Container( Container(
@ -198,6 +227,7 @@ class _QuizzViewWidget extends State<QuizzViewWidget> {
press: () { press: () {
setState(() { setState(() {
showResult = false; showResult = false;
showResponses = false;
currentIndex = 1; currentIndex = 1;
_questionsSubDTO = QuestionSubDTO().fromJSON(quizzDTO.questions); _questionsSubDTO = QuestionSubDTO().fromJSON(quizzDTO.questions);
}); });
@ -207,6 +237,24 @@ class _QuizzViewWidget extends State<QuizzViewWidget> {
vertical: 10 vertical: 10
), ),
), ),
if(!showResponses)
Container(
height: 85,
child: RoundedButton(
text: "Voir les réponses",
color: kBackgroundSecondGrey,
textColor: kBackgroundLight,
icon: Icons.assignment_turned_in,
press: () {
setState(() {
showResponses = true;
});
},
fontSize: 30,
horizontal: 30,
vertical: 10
),
)
], ],
), ),
), ),

View File

@ -0,0 +1,246 @@
import 'dart:convert';
import 'dart:developer';
import 'package:carousel_slider/carousel_slider.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:managerapi/api.dart';
import 'package:provider/provider.dart';
import 'package:tablet_app/Models/ResponseSubDTO.dart';
import 'package:tablet_app/app_context.dart';
import 'package:tablet_app/constants.dart';
class ShowReponsesWidget extends StatefulWidget {
List<QuestionSubDTO> questionsSubDTO;
ShowReponsesWidget({this.questionsSubDTO});
@override
_ShowReponsesWidget createState() => _ShowReponsesWidget();
}
class _ShowReponsesWidget extends State<ShowReponsesWidget> {
List<QuestionSubDTO> _questionsSubDTO = <QuestionSubDTO>[];
CarouselController sliderController;
int currentIndex = 1;
@override
void initState() {
super.initState();
sliderController = CarouselController();
_questionsSubDTO = widget.questionsSubDTO;
}
@override
void dispose() {
sliderController = null;
currentIndex = 1;
super.dispose();
}
@override
Widget build(BuildContext context) {
Size sizeAll = MediaQuery.of(context).size;
Size size = Size(sizeAll.width * 0.65, sizeAll.height * 0.32);
final appContext = Provider.of<AppContext>(context);
return Stack(
children: [
if(_questionsSubDTO != null && _questionsSubDTO.length > 0)
CarouselSlider(
carouselController: sliderController,
options: CarouselOptions(
onPageChanged: (int index, CarouselPageChangedReason reason) {
setState(() {
currentIndex = index + 1;
});
},
height: size.height,
enlargeCenterPage: true,
//scrollPhysics: NeverScrollableScrollPhysics(),
reverse: false,
),
items: _questionsSubDTO.map<Widget>((i) {
return Builder(
builder: (BuildContext context) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
width: size.width,
height: size.height,
margin: EdgeInsets.symmetric(horizontal: 5.0),
decoration: BoxDecoration(
color: kBackgroundLight,
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(20.0),
image: i.source_ != null ? new DecorationImage(
fit: BoxFit.contain,
opacity: 0.35,
image: new NetworkImage(
i.source_,
),
): null,
boxShadow: [
BoxShadow(
color: kBackgroundSecondGrey,
spreadRadius: 0.5,
blurRadius: 5,
offset: Offset(0, 1.5), // changes position of shadow
),
],
),
child: Column(
//crossAxisAlignment: CrossAxisAlignment.center,
//mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Padding(
padding: const EdgeInsets.all(10.0),
child: Container(
//width: MediaQuery.of(context).size.width *0.65,
height: size.height *0.25,
child: Stack(
children: [
Center(
child: Container(
decoration: BoxDecoration(
color: kBackgroundLight,
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(10.0),
boxShadow: [
BoxShadow(
color: kBackgroundSecondGrey,
spreadRadius: 0.3,
blurRadius: 4,
offset: Offset(0, 2), // changes position of shadow
),
],
),
width: size.width *0.8,
height: size.height *0.18,
child: Center(
child: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(1.0),
child: Text(i.label.firstWhere((translation) => translation.language == appContext.getContext().language).value != null ? i.label.firstWhere((translation) => translation.language == appContext.getContext().language).value : "", textAlign: TextAlign.center, style: TextStyle(fontSize: kDescriptionSize)),
),
),
),
)
),
]
),
),
),
Expanded(
child: Padding(
padding: const EdgeInsets.all(1.0),
child: Container(
height: size.height * 0.5,
width: size.width * 0.88,
//color: Colors.green,
child: Padding(
padding: const EdgeInsets.all(5.0),
child: GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
mainAxisExtent: 125,
mainAxisSpacing: 15,
crossAxisSpacing: 5,
),
itemCount: i.responsesSubDTO.length,
itemBuilder: (BuildContext ctx, index) {
return Padding(
padding: const EdgeInsets.all(5.0),
child: Container(
alignment: Alignment.center,
child: Text(i.responsesSubDTO[index].label.firstWhere((translation) => translation.language == appContext.getContext().language).value != null ? i.responsesSubDTO[index].label.firstWhere((translation) => translation.language == appContext.getContext().language).value : "", textAlign: TextAlign.center, style: TextStyle(fontSize: kDescriptionSize, color: i.chosen == index ? Colors.white : Colors.black)),
decoration: BoxDecoration(
color: i.responsesSubDTO[index].isGood ? kGreen : i.chosen == index ? kMainRed : kBackgroundLight,
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(10.0),
boxShadow: [
BoxShadow(
color: kBackgroundSecondGrey,
spreadRadius: 0.3,
blurRadius: 4,
offset: Offset(0, 2), // changes position of shadow
),
],
),
),
);
}),
),
),
),
),
],
)
),
);
},
);
}).toList(),
),
if(_questionsSubDTO != null && _questionsSubDTO.length > 1 && currentIndex != _questionsSubDTO.length && _questionsSubDTO[currentIndex-1].chosen != null && widget.questionsSubDTO.length > 0)
Positioned(
top: size.height * 0.35,
right: 60,
child: InkWell(
onTap: () {
if(_questionsSubDTO[currentIndex-1].chosen != null && widget.questionsSubDTO.length > 0) {
sliderController.nextPage(duration: new Duration(milliseconds: 500), curve: Curves.fastOutSlowIn);
/*Fluttertoast.showToast(
msg: "Vous n'avez pas répondu à cette question",
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
timeInSecForIosWeb: 1,
backgroundColor: kMainRed,
textColor: Colors.white,
fontSize: 35.0
);*/
}
},
child: Icon(
Icons.chevron_right,
size: 150,
color: kMainRed,
),
)
),
if(_questionsSubDTO != null && _questionsSubDTO.length > 1 && currentIndex != 1)
Positioned(
top: size.height * 0.35,
left: 60,
child: InkWell(
onTap: () {
if(currentIndex > 1)
sliderController.previousPage(duration: new Duration(milliseconds: 500), curve: Curves.fastOutSlowIn);
},
child: Icon(
Icons.chevron_left,
size: 150,
color: kMainRed,
),
)
),
if(_questionsSubDTO != null && _questionsSubDTO.length > 0)
Padding(
padding: const EdgeInsets.only(bottom: 0),
child: Align(
alignment: Alignment.bottomCenter,
child: InkWell(
child: Text(
currentIndex.toString()+'/'+ widget.questionsSubDTO.length.toString(),
style: TextStyle(fontSize: 30, fontWeight: FontWeight.w500),
),
)
),
),
if(_questionsSubDTO == null || _questionsSubDTO.length == 0)
Center(child: Text("Aucune question à afficher", style: TextStyle(fontSize: kNoneInfoOrIncorrect),))
]
);
}
}

View File

@ -9,6 +9,7 @@ const kTestSecondColor = Color(0xFF2F4858);
const kMainRed = Color(0xFF8b0000); const kMainRed = Color(0xFF8b0000);
const kSecondRed = Color(0xFF622727); const kSecondRed = Color(0xFF622727);
const kTextRed = Color(0xFFba0505); const kTextRed = Color(0xFFba0505);
const kGreen = Color(0xFF15bd5b);
const kBackgroundGrey = Color(0xFFb5b7b9); const kBackgroundGrey = Color(0xFFb5b7b9);
const kBackgroundSecondGrey = Color(0xFF5b5b63); const kBackgroundSecondGrey = Color(0xFF5b5b63);

View File

@ -5,6 +5,9 @@
list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_PLUGIN_LIST
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES) set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST}) foreach(plugin ${FLUTTER_PLUGIN_LIST})
@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin) endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)

View File

@ -7,14 +7,14 @@ packages:
name: archive name: archive
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.13" version: "3.3.2"
args: args:
dependency: transitive dependency: transitive
description: description:
name: args name: args
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.6.0" version: "2.3.1"
async: async:
dependency: transitive dependency: transitive
description: description:
@ -28,7 +28,7 @@ packages:
name: auto_size_text name: auto_size_text
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.0" version: "3.0.0"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
@ -42,7 +42,7 @@ packages:
name: carousel_slider name: carousel_slider
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.0.0" version: "4.1.1"
characters: characters:
dependency: transitive dependency: transitive
description: description:
@ -57,6 +57,20 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.3.1" version: "1.3.1"
checked_yaml:
dependency: transitive
description:
name: checked_yaml
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
cli_util:
dependency: transitive
description:
name: cli_util
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.5"
clock: clock:
dependency: transitive dependency: transitive
description: description:
@ -70,35 +84,28 @@ packages:
name: collection name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.15.0" version: "1.16.0"
confetti: confetti:
dependency: "direct main" dependency: "direct main"
description: description:
name: confetti name: confetti
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.0" version: "0.7.0"
convert:
dependency: transitive
description:
name: convert
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
name: crypto name: crypto
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.5" version: "3.0.2"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
name: cupertino_icons name: cupertino_icons
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "1.0.5"
device_info: device_info:
dependency: "direct main" dependency: "direct main"
description: description:
@ -126,14 +133,14 @@ packages:
name: event_bus name: event_bus
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.1" version: "2.0.0"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.3.0"
flare_flutter: flare_flutter:
dependency: "direct main" dependency: "direct main"
description: description:
@ -152,21 +159,21 @@ packages:
name: flutter_inappwebview name: flutter_inappwebview
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.0.0+4" version: "5.7.1"
flutter_launcher_icons: flutter_launcher_icons:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_launcher_icons name: flutter_launcher_icons
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.8.1" version: "0.10.0"
flutter_plugin_android_lifecycle: flutter_plugin_android_lifecycle:
dependency: transitive dependency: transitive
description: description:
name: flutter_plugin_android_lifecycle name: flutter_plugin_android_lifecycle
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.5" version: "2.0.7"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -183,21 +190,35 @@ packages:
name: fluttertoast name: fluttertoast
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "8.0.9" version: "8.1.1"
google_maps_flutter: google_maps_flutter:
dependency: "direct main" dependency: "direct main"
description: description:
name: google_maps_flutter name: google_maps_flutter
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.3" version: "2.2.1"
google_maps_flutter_android:
dependency: transitive
description:
name: google_maps_flutter_android
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.3"
google_maps_flutter_ios:
dependency: transitive
description:
name: google_maps_flutter_ios
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.12"
google_maps_flutter_platform_interface: google_maps_flutter_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: google_maps_flutter_platform_interface name: google_maps_flutter_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.5" version: "2.2.4"
http: http:
dependency: "direct main" dependency: "direct main"
description: description:
@ -218,7 +239,7 @@ packages:
name: image name: image
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.19" version: "3.2.2"
intl: intl:
dependency: transitive dependency: transitive
description: description:
@ -232,7 +253,14 @@ packages:
name: js name: js
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.3" version: "0.6.4"
json_annotation:
dependency: transitive
description:
name: json_annotation
url: "https://pub.dartlang.org"
source: hosted
version: "4.7.0"
managerapi: managerapi:
dependency: "direct main" dependency: "direct main"
description: description:
@ -253,7 +281,7 @@ packages:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.3" version: "0.1.4"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -261,20 +289,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.7.0" version: "1.7.0"
mime:
dependency: transitive
description:
name: mime
url: "https://pub.dartlang.org"
source: hosted
version: "0.9.7"
mqtt_client: mqtt_client:
dependency: "direct main" dependency: "direct main"
description: description:
name: mqtt_client name: mqtt_client
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "8.2.0" version: "9.6.8"
nested: nested:
dependency: transitive dependency: transitive
description: description:
@ -288,7 +309,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.0" version: "1.8.1"
pedantic: pedantic:
dependency: transitive dependency: transitive
description: description:
@ -302,28 +323,28 @@ packages:
name: petitparser name: petitparser
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.1.0" version: "5.0.0"
photo_view: photo_view:
dependency: "direct main" dependency: "direct main"
description: description:
name: photo_view name: photo_view
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.13.0" version: "0.14.0"
plugin_platform_interface: plugin_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: plugin_platform_interface name: plugin_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.2" version: "2.1.3"
provider: provider:
dependency: "direct main" dependency: "direct main"
description: description:
name: provider name: provider
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "5.0.0" version: "6.0.4"
sky_engine: sky_engine:
dependency: transitive dependency: transitive
description: flutter description: flutter
@ -335,21 +356,21 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
sqflite: sqflite:
dependency: "direct main" dependency: "direct main"
description: description:
name: sqflite name: sqflite
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.2" version: "2.0.3+1"
sqflite_common: sqflite_common:
dependency: transitive dependency: transitive
description: description:
name: sqflite_common name: sqflite_common
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.1" version: "2.4.0"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@ -370,7 +391,7 @@ packages:
name: stream_transform name: stream_transform
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.1"
string_scanner: string_scanner:
dependency: transitive dependency: transitive
description: description:
@ -384,7 +405,7 @@ packages:
name: synchronized name: synchronized
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.0" version: "3.0.0+3"
term_glyph: term_glyph:
dependency: transitive dependency: transitive
description: description:
@ -398,77 +419,70 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.8" version: "0.4.9"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
name: typed_data name: typed_data
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.3.0" version: "1.3.1"
uuid:
dependency: transitive
description:
name: uuid
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.2"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
name: vector_math name: vector_math
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
webview_flutter: webview_flutter:
dependency: "direct main" dependency: "direct main"
description: description:
name: webview_flutter name: webview_flutter
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.8.0" version: "3.0.4"
webview_flutter_android: webview_flutter_android:
dependency: transitive dependency: transitive
description: description:
name: webview_flutter_android name: webview_flutter_android
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.8.3" version: "2.10.4"
webview_flutter_platform_interface: webview_flutter_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: webview_flutter_platform_interface name: webview_flutter_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.9.5"
webview_flutter_wkwebview: webview_flutter_wkwebview:
dependency: transitive dependency: transitive
description: description:
name: webview_flutter_wkwebview name: webview_flutter_wkwebview
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.7.1" version: "2.9.5"
xml: xml:
dependency: transitive dependency: transitive
description: description:
name: xml name: xml
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "4.5.1" version: "6.1.0"
yaml: yaml:
dependency: transitive dependency: transitive
description: description:
name: yaml name: yaml
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.1" version: "3.1.1"
youtube_player_flutter: youtube_player_flutter:
dependency: "direct main" dependency: "direct main"
description: description:
name: youtube_player_flutter name: youtube_player_flutter
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "7.0.0+7" version: "8.1.1"
sdks: sdks:
dart: ">=2.16.0 <3.0.0" dart: ">=2.17.0 <3.0.0"
flutter: ">=2.5.0" flutter: ">=3.0.0"

View File

@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at # Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.3.0+2 version: 1.4.0+4
environment: environment:
sdk: ">=2.7.0 <3.0.0" sdk: ">=2.7.0 <3.0.0"
@ -24,21 +24,21 @@ dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
sqflite: sqflite:
webview_flutter: ^2.0.2 webview_flutter: ^3.0.4
google_maps_flutter: ^2.0.1 google_maps_flutter: ^2.0.1
flare_flutter: ^3.0.1 flare_flutter: ^3.0.1
provider: ^5.0.0 provider: ^6.0.4
http: ^0.12.2 http: ^0.12.2
auto_size_text: ^2.1.0 auto_size_text: ^3.0.0
fluttertoast: fluttertoast:
device_info: ^2.0.2 device_info: ^2.0.2
enum_to_string: ^2.0.1 enum_to_string: ^2.0.1
carousel_slider: ^4.0.0 carousel_slider: ^4.0.0
youtube_player_flutter: ^7.0.0+7 youtube_player_flutter: ^8.1.1
mqtt_client: ^8.1.0 mqtt_client: ^9.6.8
photo_view: ^0.13.0 photo_view: ^0.14.0
confetti: ^0.6.0 confetti: ^0.7.0
flutter_launcher_icons: ^0.8.1 flutter_launcher_icons: ^0.10.0
# The following adds the Cupertino Icons font to your application. # The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.

View File

@ -5,6 +5,9 @@
list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_PLUGIN_LIST
) )
list(APPEND FLUTTER_FFI_PLUGIN_LIST
)
set(PLUGIN_BUNDLED_LIBRARIES) set(PLUGIN_BUNDLED_LIBRARIES)
foreach(plugin ${FLUTTER_PLUGIN_LIST}) foreach(plugin ${FLUTTER_PLUGIN_LIST})
@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
endforeach(plugin) endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin})
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
endforeach(ffi_plugin)