From 9e06afb29edd6d347f7c35cc6d610c05272c8e83 Mon Sep 17 00:00:00 2001 From: Thomas Fransolet Date: Fri, 27 Feb 2026 13:52:54 +0100 Subject: [PATCH] Commit before anti gravity ! :) --- lib/Components/check_input_container.dart | 9 +++------ lib/Components/dropDown_input_container.dart | 4 +++- lib/Components/geoloc_input_container.dart | 7 ++----- .../multi_string_input_container.dart | 4 ++-- lib/Components/number_input_container.dart | 7 ++----- lib/Components/pdf_file_input_container.dart | 6 ++++-- lib/Components/resource_input_container.dart | 4 ++-- lib/Components/single_select_container.dart | 7 ++----- lib/Components/slider_input_container.dart | 4 +++- .../SubSection/Agenda/agenda_config.dart | 11 +++++++++++ .../Map/category_input_container.dart | 4 +++- .../Section/SubSection/Map/map_config.dart | 3 ++- .../Section/SubSection/Menu/menu_config.dart | 3 ++- .../Section/SubSection/PDF/PDF_config.dart | 2 +- .../Section/section_detail_screen.dart | 1 - lib/api/openApiTest.dart | 2 +- lib/api/swagger.yaml | 5 ++++- manager_api_new/README.md | 2 +- manager_api_new/doc/AgendaDTO.md | 1 + manager_api_new/lib/model/agenda_dto.dart | 19 ++++++++++++++++++- 20 files changed, 67 insertions(+), 38 deletions(-) diff --git a/lib/Components/check_input_container.dart b/lib/Components/check_input_container.dart index 771d96a..473cafc 100644 --- a/lib/Components/check_input_container.dart +++ b/lib/Components/check_input_container.dart @@ -15,7 +15,7 @@ class CheckInputContainer extends StatefulWidget { this.icon, required this.label, required this.onChanged, - this.fontSize = 20 + this.fontSize = 18 }) : super(key: key); @override @@ -51,12 +51,9 @@ class _CheckInputContainerState extends State { size: 25.0, ), ), - AutoSizeText( + Text( widget.label, - style: new TextStyle(fontSize: widget.fontSize, fontWeight: FontWeight.w300), - maxLines: 2, - maxFontSize: widget.fontSize, - textAlign: TextAlign.center, + style: new TextStyle(fontSize: widget.fontSize, fontWeight: FontWeight.w300) ), ], ) diff --git a/lib/Components/dropDown_input_container.dart b/lib/Components/dropDown_input_container.dart index 04072c4..6cfdb47 100644 --- a/lib/Components/dropDown_input_container.dart +++ b/lib/Components/dropDown_input_container.dart @@ -6,6 +6,7 @@ class DropDownInputContainer extends StatefulWidget { final List values; final String? initialValue; final ValueChanged? onChange; + final double fontSize; const DropDownInputContainer({ Key? key, @@ -13,6 +14,7 @@ class DropDownInputContainer extends StatefulWidget { required this.values, this.initialValue, this.onChange, + this.fontSize = 18, }) : super(key: key); @override @@ -36,7 +38,7 @@ class _DropDownInputContainerState extends State { alignment: AlignmentDirectional.centerStart, child: Text( widget.label, - style: TextStyle(fontSize: 25, fontWeight: FontWeight.w300), + style: TextStyle(fontSize: widget.fontSize, fontWeight: FontWeight.w300), ), ), Padding( diff --git a/lib/Components/geoloc_input_container.dart b/lib/Components/geoloc_input_container.dart index 6a62ad5..1acf0e8 100644 --- a/lib/Components/geoloc_input_container.dart +++ b/lib/Components/geoloc_input_container.dart @@ -22,7 +22,7 @@ class GeolocInputContainer extends StatefulWidget { required this.initialValue, required this.onChanged, this.isSmall = false, - this.fontSize = 25, + this.fontSize = 18, this.fontSizeText = 20, }) : super(key: key); @@ -43,12 +43,9 @@ class _GeolocInputContainerState extends State { children: [ Align( alignment: AlignmentDirectional.centerStart, - child: AutoSizeText( + child: Text( widget.label, style: TextStyle(fontSize: widget.fontSize, fontWeight: FontWeight.w300), - maxLines: 2, - maxFontSize: widget.fontSize, - textAlign: TextAlign.center, ), ), Padding( diff --git a/lib/Components/multi_string_input_container.dart b/lib/Components/multi_string_input_container.dart index 14843b8..f13dc16 100644 --- a/lib/Components/multi_string_input_container.dart +++ b/lib/Components/multi_string_input_container.dart @@ -50,9 +50,9 @@ class MultiStringInputContainer extends StatelessWidget { alignment: AlignmentDirectional.centerStart, child: Text( label, - style: const TextStyle( + style: TextStyle( fontWeight: FontWeight.w400, - fontSize: 16, + fontSize: fontSize, ), ), ), diff --git a/lib/Components/number_input_container.dart b/lib/Components/number_input_container.dart index 3e0d20a..db3f740 100644 --- a/lib/Components/number_input_container.dart +++ b/lib/Components/number_input_container.dart @@ -22,7 +22,7 @@ class NumberInputContainer extends StatelessWidget { this.isUrl = false, this.isSmall = false, this.maxLength = 50, - this.fontSize = 25, + this.fontSize = 18.0, this.fontSizeText = 20, }) : super(key: key); @@ -34,12 +34,9 @@ class NumberInputContainer extends StatelessWidget { children: [ Align( alignment: AlignmentDirectional.centerStart, - child: AutoSizeText( + child: Text( label, style: TextStyle(fontSize: fontSize, fontWeight: FontWeight.w300), - maxLines: 2, - maxFontSize: fontSize, - textAlign: TextAlign.center, ), ), Padding( diff --git a/lib/Components/pdf_file_input_container.dart b/lib/Components/pdf_file_input_container.dart index cd80c55..1c85684 100644 --- a/lib/Components/pdf_file_input_container.dart +++ b/lib/Components/pdf_file_input_container.dart @@ -11,12 +11,14 @@ class PDFFileInputContainer extends StatefulWidget { final String label; List initialValue; final ValueChanged> onChanged; + final double fontSize; PDFFileInputContainer({ Key? key, this.color = kSecond, required this.label, required this.initialValue, required this.onChanged, + this.fontSize = 18.0, }) : super(key: key); @override @@ -39,12 +41,12 @@ class _PDFFileInputContainerState extends State { children: [ Align( alignment: AlignmentDirectional.centerStart, - child: Text(widget.label, style: TextStyle(fontSize: 25, fontWeight: FontWeight.w300)) + child: Text(widget.label, style: TextStyle(fontSize: widget.fontSize, fontWeight: FontWeight.w300)) ), Padding( padding: const EdgeInsets.all(8.0), child: Container( - width: size.width *0.15, + width: size.width *0.16, child: InkWell( onTap: () { List newValues = []; diff --git a/lib/Components/resource_input_container.dart b/lib/Components/resource_input_container.dart index e7052d8..a3cf911 100644 --- a/lib/Components/resource_input_container.dart +++ b/lib/Components/resource_input_container.dart @@ -58,9 +58,9 @@ class _ResourceInputContainerState extends State { alignment: AlignmentDirectional.centerStart, child: Text( widget.label, - style: const TextStyle( + style: TextStyle( fontWeight: FontWeight.w400, - fontSize: 16, + fontSize: widget.fontSize, ), ), ), diff --git a/lib/Components/single_select_container.dart b/lib/Components/single_select_container.dart index 4b2f534..880c214 100644 --- a/lib/Components/single_select_container.dart +++ b/lib/Components/single_select_container.dart @@ -17,7 +17,7 @@ class SingleSelectContainer extends StatefulWidget { this.initialValue = "", required this.inputValues, this.onChanged, - this.fontSize = 25, + this.fontSize = 18, this.fontSizeText = 20, }) : super(key: key); @@ -43,12 +43,9 @@ class _SingleSelectContainerState extends State { children: [ Align( alignment: AlignmentDirectional.centerStart, - child: AutoSizeText( + child: Text( widget.label, style: TextStyle(fontSize: widget.fontSize, fontWeight: FontWeight.w300), - maxLines: 2, - maxFontSize: widget.fontSize, - textAlign: TextAlign.center, ), ), Padding( diff --git a/lib/Components/slider_input_container.dart b/lib/Components/slider_input_container.dart index c4ce50e..7019514 100644 --- a/lib/Components/slider_input_container.dart +++ b/lib/Components/slider_input_container.dart @@ -8,6 +8,7 @@ class SliderInputContainer extends StatefulWidget { final int min; final int max; final ValueChanged onChanged; + final double fontSize; const SliderInputContainer({ Key? key, this.color = kSecond, @@ -16,6 +17,7 @@ class SliderInputContainer extends StatefulWidget { required this.min, required this.max, required this.onChanged, + this.fontSize = 18.0, }) : super(key: key); @override @@ -38,7 +40,7 @@ class _SliderInputContainerState extends State { children: [ Align( alignment: AlignmentDirectional.centerStart, - child: Text(widget.label, style: TextStyle(fontSize: 25, fontWeight: FontWeight.w300)) + child: Text(widget.label, style: TextStyle(fontSize: widget.fontSize, fontWeight: FontWeight.w300)) ), Padding( padding: const EdgeInsets.all(10.0), diff --git a/lib/Screens/Configurations/Section/SubSection/Agenda/agenda_config.dart b/lib/Screens/Configurations/Section/SubSection/Agenda/agenda_config.dart index 90a3e86..657b4a8 100644 --- a/lib/Screens/Configurations/Section/SubSection/Agenda/agenda_config.dart +++ b/lib/Screens/Configurations/Section/SubSection/Agenda/agenda_config.dart @@ -1,5 +1,6 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:manager_app/Components/check_input_container.dart'; import 'package:manager_app/Components/multi_string_input_container.dart'; import 'package:manager_app/Components/resource_input_container.dart'; import 'package:manager_api_new/api.dart'; @@ -60,6 +61,16 @@ class _AgendaConfigState extends State { child: Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ + CheckInputContainer( + label: "En ligne :", + isChecked: agendaDTO.isOnlineAgenda!, + onChanged: (value) { + setState(() { + agendaDTO.isOnlineAgenda = value; + widget.onChanged(agendaDTO); + }); + }, + ), SingleSelectContainer( label: "Service carte :", color: Colors.black, diff --git a/lib/Screens/Configurations/Section/SubSection/Map/category_input_container.dart b/lib/Screens/Configurations/Section/SubSection/Map/category_input_container.dart index e5fb2c6..65c236c 100644 --- a/lib/Screens/Configurations/Section/SubSection/Map/category_input_container.dart +++ b/lib/Screens/Configurations/Section/SubSection/Map/category_input_container.dart @@ -10,12 +10,14 @@ class CategoryInputContainer extends StatefulWidget { final String label; List initialValue; final ValueChanged> onChanged; + final double fontSize; CategoryInputContainer({ Key? key, this.color = kSecond, required this.label, required this.initialValue, required this.onChanged, + this.fontSize = 18, }) : super(key: key); @override @@ -40,7 +42,7 @@ class _CategoryInputContainerState extends State { children: [ Align( alignment: AlignmentDirectional.centerStart, - child: Text(widget.label, style: TextStyle(fontSize: 25, fontWeight: FontWeight.w300)) + child: Text(widget.label, style: TextStyle(fontSize: widget.fontSize, fontWeight: FontWeight.w300)) ), Padding( padding: const EdgeInsets.all(8.0), diff --git a/lib/Screens/Configurations/Section/SubSection/Map/map_config.dart b/lib/Screens/Configurations/Section/SubSection/Map/map_config.dart index 25fe078..746a6dd 100644 --- a/lib/Screens/Configurations/Section/SubSection/Map/map_config.dart +++ b/lib/Screens/Configurations/Section/SubSection/Map/map_config.dart @@ -131,9 +131,10 @@ class _MapConfigState extends State { child: Column( children: [ Container( - height: size.height * 0.3, + height: size.height * 0.25, width: double.infinity, child: Column( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceAround, diff --git a/lib/Screens/Configurations/Section/SubSection/Menu/menu_config.dart b/lib/Screens/Configurations/Section/SubSection/Menu/menu_config.dart index e6f4351..cba54d1 100644 --- a/lib/Screens/Configurations/Section/SubSection/Menu/menu_config.dart +++ b/lib/Screens/Configurations/Section/SubSection/Menu/menu_config.dart @@ -108,7 +108,7 @@ class _MenuConfigState extends State { } else { if (snapshot.connectionState == ConnectionState.done) { var rawList = snapshot.data; - rawSubsections = jsonDecode(jsonEncode(snapshot.data)); + rawSubsections = snapshot.data != null ? jsonDecode(jsonEncode(snapshot.data)) : []; rawSubsections = rawSubsections.map((json) => SectionDTO.fromJson(json)).toList(); List sectionList = rawSubsections.whereType().toList(); @@ -166,6 +166,7 @@ class _MenuConfigState extends State { { newSubsection.instanceId = (appContext.getContext() as ManagerAppContext).instanceId; newSubsection.isBeacon = false; + newSubsection.isActive = true; await (appContext.getContext() as ManagerAppContext).clientAPI!.sectionApi!.sectionCreate(newSubsection); showNotification(kSuccess, kWhite, 'La sous section a été créée avec succès', context, null); setState(() { diff --git a/lib/Screens/Configurations/Section/SubSection/PDF/PDF_config.dart b/lib/Screens/Configurations/Section/SubSection/PDF/PDF_config.dart index 5b41e9b..a61b562 100644 --- a/lib/Screens/Configurations/Section/SubSection/PDF/PDF_config.dart +++ b/lib/Screens/Configurations/Section/SubSection/PDF/PDF_config.dart @@ -39,7 +39,7 @@ class _PDFConfigState extends State { return Center( child: Container( height: 70, - width: 425, + width: 440, child: PDFFileInputContainer( label: "Fichiers PDF :", initialValue: pdfDTO.pdfs != null ? pdfDTO.pdfs! : [], diff --git a/lib/Screens/Configurations/Section/section_detail_screen.dart b/lib/Screens/Configurations/Section/section_detail_screen.dart index b681b8e..5611174 100644 --- a/lib/Screens/Configurations/Section/section_detail_screen.dart +++ b/lib/Screens/Configurations/Section/section_detail_screen.dart @@ -214,7 +214,6 @@ class _SectionDetailScreenState extends State { CheckInputContainer( label: "Beacon :", isChecked: sectionDTO.isBeacon!, - fontSize: 25, onChanged: (value) { setState(() { sectionDTO.isBeacon = value; diff --git a/lib/api/openApiTest.dart b/lib/api/openApiTest.dart index d3fc535..39357a9 100644 --- a/lib/api/openApiTest.dart +++ b/lib/api/openApiTest.dart @@ -1,4 +1,4 @@ -// Openapi Generator last run: : 2025-11-27T16:46:46.408321 +// Openapi Generator last run: : 2026-02-27T13:23:36.794687 import 'package:openapi_generator_annotations/openapi_generator_annotations.dart'; @Openapi( diff --git a/lib/api/swagger.yaml b/lib/api/swagger.yaml index aca6c9e..d37ac90 100644 --- a/lib/api/swagger.yaml +++ b/lib/api/swagger.yaml @@ -4,7 +4,7 @@ "info": { "title": "Manager Service", "description": "API Manager Service", - "version": "Version Alpha 0.0" + "version": "Version Alpha" }, "servers": [ { @@ -8275,6 +8275,9 @@ "type": "object", "additionalProperties": false, "properties": { + "isOnlineAgenda": { + "type": "boolean" + }, "resourceIds": { "type": "array", "nullable": true, diff --git a/manager_api_new/README.md b/manager_api_new/README.md index 3cfcc46..835bf79 100644 --- a/manager_api_new/README.md +++ b/manager_api_new/README.md @@ -3,7 +3,7 @@ API Manager Service This Dart package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: Version Alpha 0.0 +- API version: Version Alpha - Generator version: 7.9.0 - Build package: org.openapitools.codegen.languages.DartClientCodegen diff --git a/manager_api_new/doc/AgendaDTO.md b/manager_api_new/doc/AgendaDTO.md index 5c24698..c59d593 100644 --- a/manager_api_new/doc/AgendaDTO.md +++ b/manager_api_new/doc/AgendaDTO.md @@ -27,6 +27,7 @@ Name | Type | Description | Notes **meterZoneGPS** | **int** | | [optional] **isBeacon** | **bool** | | [optional] **beaconId** | **int** | | [optional] +**isOnlineAgenda** | **bool** | | [optional] **resourceIds** | [**List**](TranslationDTO.md) | | [optional] [default to const []] **agendaMapProvider** | [**AgendaDTOAllOfAgendaMapProvider**](AgendaDTOAllOfAgendaMapProvider.md) | | [optional] **events** | [**List**](EventAgendaDTO.md) | | [optional] [default to const []] diff --git a/manager_api_new/lib/model/agenda_dto.dart b/manager_api_new/lib/model/agenda_dto.dart index cee79c5..59c6859 100644 --- a/manager_api_new/lib/model/agenda_dto.dart +++ b/manager_api_new/lib/model/agenda_dto.dart @@ -32,6 +32,7 @@ class AgendaDTO { this.meterZoneGPS, this.isBeacon, this.beaconId, + this.isOnlineAgenda, this.resourceIds = const [], this.agendaMapProvider, this.events = const [], @@ -99,6 +100,14 @@ class AgendaDTO { int? beaconId; + /// + /// Please note: This property should have been non-nullable! Since the specification file + /// does not include a default value (using the "default:" property), however, the generated + /// source code must fall back to having a nullable type. + /// Consider adding a "default:" property in the specification file to hide this note. + /// + bool? isOnlineAgenda; + List? resourceIds; MapProvider? agendaMapProvider; @@ -128,6 +137,7 @@ class AgendaDTO { other.meterZoneGPS == meterZoneGPS && other.isBeacon == isBeacon && other.beaconId == beaconId && + other.isOnlineAgenda == isOnlineAgenda && _deepEquality.equals(other.resourceIds, resourceIds) && other.agendaMapProvider == agendaMapProvider && _deepEquality.equals(other.events, events); @@ -154,13 +164,14 @@ class AgendaDTO { (meterZoneGPS == null ? 0 : meterZoneGPS!.hashCode) + (isBeacon == null ? 0 : isBeacon!.hashCode) + (beaconId == null ? 0 : beaconId!.hashCode) + + (isOnlineAgenda == null ? 0 : isOnlineAgenda!.hashCode) + (resourceIds == null ? 0 : resourceIds!.hashCode) + (agendaMapProvider == null ? 0 : agendaMapProvider!.hashCode) + (events == null ? 0 : events!.hashCode); @override String toString() => - 'AgendaDTO[id=$id, label=$label, title=$title, description=$description, isActive=$isActive, imageId=$imageId, imageSource=$imageSource, configurationId=$configurationId, isSubSection=$isSubSection, parentId=$parentId, type=$type, dateCreation=$dateCreation, order=$order, instanceId=$instanceId, latitude=$latitude, longitude=$longitude, meterZoneGPS=$meterZoneGPS, isBeacon=$isBeacon, beaconId=$beaconId, resourceIds=$resourceIds, agendaMapProvider=$agendaMapProvider, events=$events]'; + 'AgendaDTO[id=$id, label=$label, title=$title, description=$description, isActive=$isActive, imageId=$imageId, imageSource=$imageSource, configurationId=$configurationId, isSubSection=$isSubSection, parentId=$parentId, type=$type, dateCreation=$dateCreation, order=$order, instanceId=$instanceId, latitude=$latitude, longitude=$longitude, meterZoneGPS=$meterZoneGPS, isBeacon=$isBeacon, beaconId=$beaconId, isOnlineAgenda=$isOnlineAgenda, resourceIds=$resourceIds, agendaMapProvider=$agendaMapProvider, events=$events]'; Map toJson() { final json = {}; @@ -259,6 +270,11 @@ class AgendaDTO { } else { json[r'beaconId'] = null; } + if (this.isOnlineAgenda != null) { + json[r'isOnlineAgenda'] = this.isOnlineAgenda; + } else { + json[r'isOnlineAgenda'] = null; + } if (this.resourceIds != null) { json[r'resourceIds'] = this.resourceIds; } else { @@ -317,6 +333,7 @@ class AgendaDTO { meterZoneGPS: mapValueOfType(json, r'meterZoneGPS'), isBeacon: mapValueOfType(json, r'isBeacon'), beaconId: mapValueOfType(json, r'beaconId'), + isOnlineAgenda: mapValueOfType(json, r'isOnlineAgenda'), resourceIds: TranslationDTO.listFromJson(json[r'resourceIds']), agendaMapProvider: MapProvider.fromJson(json[r'agendaMapProvider']), events: EventAgendaDTO.listFromJson(json[r'events']),