clean code + accept empty for descriptions

This commit is contained in:
Thomas Fransolet 2024-01-16 16:05:43 +01:00
parent c296937530
commit 57c7d56306
37 changed files with 63 additions and 181 deletions

View File

@ -1,11 +1,8 @@
import 'package:auto_size_text/auto_size_text.dart';
import 'package:collection/collection.dart';
import 'package:flutter/material.dart';
import 'package:flutter_widget_from_html/flutter_widget_from_html.dart';
import 'package:manager_api_new/api.dart';
import 'package:manager_app/Components/rounded_button.dart';
import 'package:manager_app/Screens/Configurations/Section/SubSection/Map/category_list.dart';
import 'package:manager_app/app_context.dart';
import 'package:manager_app/constants.dart';
class CategoryInputContainer extends StatefulWidget {

View File

@ -51,7 +51,6 @@ class _CheckInputContainerState extends State<CheckInputContainer> {
size: 25.0,
),
),
if(widget.label != null)
AutoSizeText(
widget.label,
style: new TextStyle(fontSize: widget.fontSize, fontWeight: FontWeight.w300),

View File

@ -1,4 +1,3 @@
import 'package:flare_flutter/flare_actor.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/constants.dart';

View File

@ -1,11 +1,8 @@
import 'dart:ui';
import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/rounded_button.dart';
import 'package:manager_app/Components/text_form_input_container.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/Screens/Resources/select_resource_modal.dart';
import 'package:manager_app/app_context.dart';
import 'package:manager_app/constants.dart';
import 'package:manager_api_new/api.dart';

View File

@ -6,7 +6,6 @@ import 'package:multi_select_flutter/dialog/multi_select_dialog_field.dart';
import 'package:multi_select_flutter/util/multi_select_item.dart';
import 'package:multi_select_flutter/util/multi_select_list_type.dart';
import 'flag_decoration.dart';
class MultiSelectDropdownContainer extends StatelessWidget {
final Color color;

View File

@ -2,7 +2,6 @@ import 'dart:convert';
import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/multi_input_modal.dart';
import 'package:manager_app/Components/multi_string_input_html_modal.dart';
import 'package:manager_app/constants.dart';
import 'package:manager_api_new/api.dart';
@ -56,9 +55,6 @@ class MultiStringInputAndResourceContainer extends StatelessWidget {
List<TranslationAndResourceDTO> newValues = <TranslationAndResourceDTO>[];
List<TranslationAndResourceDTO> initials = initialValue;
if(initials == null) {
initials = [];
}
languages.forEach((value) {
if(initials.map((iv) => iv.language).contains(value)) {

View File

@ -18,6 +18,7 @@ class MultiStringInputContainer extends StatelessWidget {
final bool isAudio;
final bool isHTML;
final double fontSize;
final bool isMandatory;
const MultiStringInputContainer({
Key? key,
this.color = kSecond,
@ -30,6 +31,7 @@ class MultiStringInputContainer extends StatelessWidget {
this.isAudio = false,
this.isHTML = false,
this.fontSize = 25,
this.isMandatory = true,
}) : super(key: key);
@override
@ -58,9 +60,6 @@ class MultiStringInputContainer extends StatelessWidget {
List<TranslationDTO> newValues = <TranslationDTO>[];
List<TranslationDTO> initials = initialValue;
if(initials == null) {
initials = [];
}
languages.forEach((value) {
if(initials.map((iv) => iv.language).contains(value)) {
@ -72,7 +71,7 @@ class MultiStringInputContainer extends StatelessWidget {
});
if(isHTML) {
showMultiStringInputHTML(label, modalLabel, isTitle, initials, newValues, onGetResult, maxLines, isAudio, context);
showMultiStringInputHTML(label, modalLabel, isTitle, initials, newValues, onGetResult, maxLines, isAudio, context, isMandatory);
} else {
showMultiStringInput(label, modalLabel, isTitle, initials, newValues, onGetResult, maxLines, isAudio, context);
}

View File

@ -1,4 +1,3 @@
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/message_notification.dart';
import 'package:manager_app/Components/rounded_button.dart';
@ -8,7 +7,7 @@ import 'package:manager_app/constants.dart';
import 'package:manager_api_new/api.dart';
import 'package:collection/collection.dart';
showMultiStringInputHTML (String label, String modalLabel, bool isTitle, List<TranslationDTO> values, List<TranslationDTO> newValues, Function onGetResult, int maxLines, bool isAudio, BuildContext context) {
showMultiStringInputHTML (String label, String modalLabel, bool isTitle, List<TranslationDTO> values, List<TranslationDTO> newValues, Function onGetResult, int maxLines, bool isAudio, BuildContext context, bool isMandatory) {
showDialog(
builder: (BuildContext context) {
return AlertDialog(
@ -48,7 +47,7 @@ showMultiStringInputHTML (String label, String modalLabel, bool isTitle, List<Tr
press: () {
Function deepEq = const DeepCollectionEquality().equals;
if (!deepEq(values, newValues)) {
if(newValues.any((label) => label.value == null || label.value!.trim() == "")) {
if(isMandatory && newValues.any((label) => label.value == null || label.value!.trim() == "")) {
showNotification(kPrimaryColor, kWhite, "La traduction n'est pas complète", context, null);
} else {
onGetResult(newValues);

View File

@ -2,7 +2,6 @@ import 'dart:io';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/upload_audio_container.dart';
import 'package:manager_app/Components/upload_image_container.dart';
import 'package:manager_app/Components/upload_online_resources_container.dart';
import 'package:manager_app/constants.dart';

View File

@ -1,4 +1,3 @@
import 'dart:convert';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

View File

@ -1,4 +1,3 @@
import 'package:flutter/services.dart';
import 'package:manager_api_new/api.dart';
import 'dart:convert';
import 'package:pdf/pdf.dart';

View File

@ -1,5 +1,4 @@
import 'package:flutter/material.dart';
import 'package:manager_app/Components/audio_input_container.dart';
import 'package:manager_app/Components/check_input_container.dart';
import 'package:manager_app/Components/multi_string_input_container.dart';
import 'package:manager_app/Screens/Configurations/Section/SubSection/Slider/listView_card_image.dart';
@ -210,14 +209,11 @@ class _ArticleConfigState extends State<ArticleConfig> {
child: InkWell(
onTap: () async {
var result = await showNewOrUpdateContentSlider(null, appContext, context, true, false);
if (result != null)
{
setState(() {
result.order = articleDTO.contents!.length;
articleDTO.contents!.add(result);
widget.onChanged(jsonEncode(articleDTO).toString());
});
}
},
child: Container(
height: MediaQuery.of(context).size.width * 0.04,

View File

@ -1,9 +1,6 @@
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_app/Components/multi_string_input_html_modal.dart';
import 'package:manager_app/Screens/Configurations/Section/SubSection/Map/new_update_categorie.dart';
import 'package:manager_app/app_context.dart';
import 'package:manager_app/constants.dart';

View File

@ -1,5 +1,4 @@
import 'package:flutter/material.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/Screens/Configurations/Section/SubSection/Map/listView_card_geoPoint_images.dart';
import 'package:manager_app/Screens/Resources/select_resource_modal.dart';
import 'package:manager_app/app_context.dart';

View File

@ -1,4 +1,3 @@
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_app/Components/category_input_container.dart';
@ -6,7 +5,6 @@ import 'package:manager_app/Components/fetch_section_icon.dart';
import 'package:manager_app/Components/resource_input_container.dart';
import 'package:manager_app/Components/multi_select_container.dart';
import 'package:manager_app/Components/slider_input_container.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/Screens/Configurations/Section/SubSection/Map/showNewOrUpdateGeoPoint.dart';
import 'package:manager_app/app_context.dart';
import 'package:manager_app/constants.dart';

View File

@ -1,13 +1,9 @@
import 'dart:convert';
import 'package:auto_size_text/auto_size_text.dart';
import 'package:manager_app/Components/multi_string_input_and_resource_container.dart';
import 'package:manager_app/Components/multi_string_input_html_modal.dart';
import 'package:manager_app/Components/resource_input_container.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/multi_string_input_container.dart';
import 'package:manager_app/Components/rounded_button.dart';
import 'package:manager_app/Components/text_form_input_container.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/app_context.dart';
import 'package:manager_app/constants.dart';

View File

@ -1,10 +1,8 @@
import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/dropDown_input_container.dart';
import 'package:manager_app/Components/multi_string_input_container.dart';
import 'package:manager_app/Components/rounded_button.dart';
import 'package:manager_app/Components/string_input_container.dart';
import 'package:manager_app/Components/text_form_input_container.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/Screens/Configurations/Section/SubSection/Map/geopoint_image_list.dart';
import 'package:manager_app/app_context.dart';
@ -105,6 +103,7 @@ void showNewOrUpdateGeoPoint(MapDTO mapDTO, GeoPointDTO? inputGeoPointDTO, Funct
isHTML: true,
color: kPrimaryColor,
initialValue: geoPointDTO.description != null ? geoPointDTO.description! : [],
isMandatory: false,
onGetResult: (value) {
if (geoPointDTO.description != value) {
geoPointDTO.description = value;

View File

@ -1,11 +1,8 @@
import 'package:auto_size_text/auto_size_text.dart';
import 'package:manager_app/Components/resource_input_container.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/multi_string_input_container.dart';
import 'package:manager_app/Components/rounded_button.dart';
import 'package:manager_app/Components/string_input_container.dart';
import 'package:manager_app/Components/text_form_input_container.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/Screens/Configurations/Section/SubSection/Quizz/quizz_config.dart';
import 'package:manager_app/Screens/Configurations/Section/SubSection/Slider/slider_config.dart';
import 'package:manager_app/Screens/Configurations/Section/SubSection/WebOrVideo/web_video_config.dart';
@ -97,6 +94,7 @@ void showEditSubSection(SectionDTO subSectionDTO, Function getResult, AppContext
isHTML: true,
color: kPrimaryColor,
initialValue: subSectionDTO.description != null ? subSectionDTO.description! : [],
isMandatory: false,
onGetResult: (value) {
if (subSectionDTO.description != value) {
subSectionDTO.description = value;

View File

@ -1,8 +1,6 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/message_notification.dart';
import 'package:manager_app/Components/multi_string_input_and_resource_container.dart';
import 'package:manager_app/Components/multi_string_input_container.dart';
import 'package:manager_app/Components/number_input_container.dart';
import 'package:manager_app/Components/resource_input_container.dart';
import 'package:manager_api_new/api.dart';

View File

@ -1,11 +1,8 @@
import 'package:auto_size_text/auto_size_text.dart';
import 'package:manager_app/Components/multi_string_input_and_resource_container.dart';
import 'package:manager_app/Components/resource_input_container.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/message_notification.dart';
import 'package:manager_app/Components/multi_string_input_container.dart';
import 'package:manager_app/Components/rounded_button.dart';
import 'package:manager_app/Components/text_form_input_container.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/Screens/Configurations/Section/SubSection/Quizz/quizz_answer_list.dart';
import 'package:manager_app/app_context.dart';

View File

@ -1,10 +1,7 @@
import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/message_notification.dart';
import 'package:manager_app/Components/multi_string_input_and_resource_container.dart';
import 'package:manager_app/Components/multi_string_input_container.dart';
import 'package:manager_app/Components/rounded_button.dart';
import 'package:manager_app/Components/text_form_input_container.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/app_context.dart';
import 'package:manager_app/constants.dart';

View File

@ -1,13 +1,9 @@
import 'dart:convert';
import 'package:auto_size_text/auto_size_text.dart';
import 'package:manager_app/Components/multi_string_input_and_resource_container.dart';
import 'package:manager_app/Components/multi_string_input_html_modal.dart';
import 'package:manager_app/Components/resource_input_container.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/multi_string_input_container.dart';
import 'package:manager_app/Components/rounded_button.dart';
import 'package:manager_app/Components/text_form_input_container.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/app_context.dart';
import 'package:manager_app/constants.dart';

View File

@ -1,6 +1,5 @@
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_app/Components/multi_string_input_html_modal.dart';
@ -9,7 +8,6 @@ import 'package:manager_app/constants.dart';
import 'package:manager_api_new/api.dart';
import 'package:provider/provider.dart';
import 'new_update_response_quizz - deprecated.dart';
class QuizzResponseList extends StatefulWidget {
final List<ResponseDTO> responses;
@ -209,9 +207,6 @@ class _QuizzResponseListState extends State<QuizzResponseList> {
List<TranslationAndResourceDTO> newValues = <TranslationAndResourceDTO>[];
List<TranslationAndResourceDTO> initials = response.label!;
if(initials == null) {
initials = [];
}
languages.forEach((value) {
if(initials.map((iv) => iv.language).contains(value)) {

View File

@ -1,4 +1,3 @@
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_app/Components/multi_string_input_html_modal.dart';
@ -12,7 +11,6 @@ import 'dart:convert';
import 'package:provider/provider.dart';
import 'new_update_question_quizz.dart';
import 'new_update_score_quizz - deprecated.dart';
class QuizzConfig extends StatefulWidget {
final String? color;
@ -189,14 +187,11 @@ class _QuizzConfigState extends State<QuizzConfig> {
child: InkWell(
onTap: () async {
QuestionDTO? result = await showNewOrUpdateQuestionQuizz(null, appContext, context, "Question");
if (result != null)
{
setState(() {
result.order = quizzDTO.questions!.length;
quizzDTO.questions!.add(result);
widget.onChanged(jsonEncode(quizzDTO).toString());
});
}
},
child: Container(
height: MediaQuery.of(context).size.width * 0.04,
@ -272,12 +267,10 @@ class _QuizzConfigState extends State<QuizzConfig> {
"Modifier la question"
);
if (result != null) {
setState(() {
quizzDTO.questions![question.order!] = result;
widget.onChanged(jsonEncode(quizzDTO).toString());
});
}
},
child: Padding(
padding: const EdgeInsets.all(8.0),

View File

@ -1,4 +1,3 @@
import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Screens/Configurations/Section/SubSection/Slider/new_update_image_slider.dart';
import 'package:manager_app/app_context.dart';
@ -95,12 +94,10 @@ class _ListViewCard extends State<ListViewCardContent> {
widget.showDescriptionTranslations
);
if (result != null) {
setState(() {
widget.listItems[widget.index] = result;
widget.onChanged(widget.listItems);
});
}
},
child: Padding(
padding: const EdgeInsets.all(8.0),
@ -140,7 +137,7 @@ boxDecoration(ContentDTO contentDTO, appContext) {
shape: BoxShape.rectangle,
border: Border.all(width: 1.5, color: kSecond),
borderRadius: BorderRadius.circular(10.0),
image: contentDTO.title != null && contentDTO.resourceUrl != null ? new DecorationImage(
image: contentDTO.title != null && contentDTO.resourceUrl != null && (contentDTO.resourceType == ResourceType.ImageUrl || contentDTO.resourceType == ResourceType.Image) ? new DecorationImage(
fit: BoxFit.scaleDown,
image: new NetworkImage(
contentDTO.resourceUrl!,

View File

@ -1,9 +1,7 @@
import 'package:auto_size_text/auto_size_text.dart';
import 'package:manager_app/Components/resource_input_container.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/multi_string_input_container.dart';
import 'package:manager_app/Components/rounded_button.dart';
import 'package:manager_app/Components/text_form_input_container.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/app_context.dart';
import 'package:manager_app/constants.dart';
@ -100,6 +98,7 @@ Future<ContentDTO> showNewOrUpdateContentSlider(ContentDTO? inputContentDTO, App
isHTML: true,
color: kPrimaryColor,
initialValue: contentDTO.description != null ? contentDTO.description! : [],
isMandatory: false,
onGetResult: (value) {
if (contentDTO.description != value) {
contentDTO.description = value;

View File

@ -103,14 +103,11 @@ class _SliderConfigState extends State<SliderConfig> {
child: InkWell(
onTap: () async {
var result = await showNewOrUpdateContentSlider(null, appContext, context, true, true);
if (result != null)
{
setState(() {
result.order = sliderDTO.contents!.length;
sliderDTO.contents!.add(result);
widget.onChanged(jsonEncode(sliderDTO).toString());
});
}
},
child: Container(
height: MediaQuery.of(context).size.width * 0.04,

View File

@ -1,6 +1,4 @@
import 'dart:convert';
import 'dart:io';
import 'dart:typed_data';
import 'dart:ui';
import 'package:flutter/material.dart';
@ -174,7 +172,7 @@ class _SectionDetailScreenState extends State<SectionDetailScreen> {
children: [
InkWell(
onTap: () async {
var image = await _captureAndSharePng(globalKey, sectionDTO!.id!);
var image = await _captureAndSharePng(globalKey, sectionDTO.id!);
await readAndWriteFiles(image);
showNotification(kSuccess, kWhite, 'Ce QR code a été copié dans le presse papier', context, null);
},
@ -192,7 +190,7 @@ class _SectionDetailScreenState extends State<SectionDetailScreen> {
),
),
),
SelectableText(sectionDTO!.id!, style: new TextStyle(fontSize: 15))
SelectableText(sectionDTO.id!, style: new TextStyle(fontSize: 15))
],
),
CheckInputContainer(
@ -258,6 +256,7 @@ class _SectionDetailScreenState extends State<SectionDetailScreen> {
color: kPrimaryColor,
isHTML: true,
initialValue: sectionDTO != null ? sectionDTO.description! : [],
isMandatory: false,
onGetResult: (value) {
if (sectionDTO!.description != value) {
sectionDTO.description = value!;
@ -387,7 +386,6 @@ class _SectionDetailScreenState extends State<SectionDetailScreen> {
}
Future<void> save(bool isTraduction, SectionDTO sectionDTO, AppContext appContext) async {
if (sectionDTO != null) {
SectionDTO? section = await (appContext.getContext() as ManagerAppContext).clientAPI!.sectionApi!.sectionUpdate(sectionDTO);
ManagerAppContext managerAppContext = appContext.getContext();
managerAppContext.selectedSection = section;
@ -399,7 +397,6 @@ class _SectionDetailScreenState extends State<SectionDetailScreen> {
showNotification(Colors.green, kWhite, 'La section a été sauvegardée avec succès', context, null);
}
}
}
getSpecificData(SectionDTO sectionDTO, AppContext appContext) {
switch(sectionDTO.type) {

View File

@ -22,7 +22,6 @@ class _DropDownConfigState extends State<DropDownConfig> {
@override
void initState() {
if (widget.selectedConfigurationId != null)
configurationDTO = widget.configurations.firstWhere((config) => config.id == widget.selectedConfigurationId);
super.initState();
}

View File

@ -1,12 +1,8 @@
import 'dart:ui' as ui;
import 'dart:html';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:manager_app/Components/loading.dart';
import 'package:manager_app/Components/loading_common.dart';
import 'package:manager_app/Screens/Policy/web_view.dart';
import 'package:manager_app/app_context.dart';
import 'package:provider/provider.dart';

View File

@ -55,7 +55,7 @@ class _WebViewWidget extends State<WebView> {
@override
Widget build(BuildContext context) => widget.htmlText != null && widget.htmlText.length > 0 ?
Widget build(BuildContext context) => widget.htmlText.length > 0 ?
kIsWeb ?
HtmlElementView(
key: UniqueKey(),

View File

@ -1,16 +1,10 @@
import 'dart:convert';
import 'dart:typed_data';
import 'package:manager_app/Components/audio_player.dart';
import 'package:manager_app/Components/loading_common.dart';
import 'package:manager_app/Components/video_viewer.dart';
import 'package:manager_app/Components/video_viewer_youtube.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/app_context.dart';
import 'package:manager_app/constants.dart';
import 'package:manager_api_new/api.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
getElementForResource(dynamic resourceDTO, AppContext appContext) {
switch(resourceDTO.type) {

View File

@ -6,7 +6,6 @@ import 'package:manager_app/Components/message_notification.dart';
import 'package:manager_app/Components/resource_tab.dart';
import 'package:flutter/material.dart';
import 'package:manager_app/Components/rounded_button.dart';
import 'package:manager_app/Components/string_input_container.dart';
import 'package:manager_app/app_context.dart';
import 'package:manager_app/constants.dart';
import 'package:manager_api_new/api.dart';

View File

@ -3,7 +3,6 @@ import 'package:flutter/material.dart';
import 'package:manager_app/Components/fetch_resource_icon.dart';
import 'package:manager_app/Components/multi_select_container.dart';
import 'package:manager_app/Components/string_input_container.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/app_context.dart';
import 'package:manager_app/constants.dart';
import 'package:manager_api_new/api.dart';

View File

@ -13,10 +13,7 @@ import 'package:manager_app/app_context.dart';
import 'package:manager_app/constants.dart';
import 'package:manager_api_new/api.dart';
import 'package:provider/provider.dart';
import 'package:http/http.dart' as http;
import 'package:flutter/foundation.dart' show kIsWeb;
import 'package:path/path.dart' as Path;
import 'dart:html' as html;
class ResourcesScreen extends StatefulWidget {
final Function? onGetResult; //return ResourceDTO

View File

@ -8,7 +8,6 @@ import 'package:manager_app/Components/message_notification.dart';
import 'package:manager_app/Components/rounded_button.dart';
import 'package:manager_app/Components/rounded_input_field.dart';
import 'package:manager_app/Components/rounded_password_field.dart';
import 'package:manager_app/Helpers/FileHelper.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/Models/session.dart';
import 'package:manager_app/Screens/Main/main_screen.dart';
@ -50,7 +49,7 @@ class _LoginScreenState extends State<LoginScreen> {
clientAPI = Client(this.host!);
if (this.email != null && this.password != null || this.token != null) {
if (this.password != null || this.token != null) {
// if () {} // Add if token exist and not null + not expired
try {

View File

@ -632,30 +632,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.4.8"
leak_tracker:
dependency: transitive
description:
name: leak_tracker
sha256: f38a2c91c12f31726ca13015fbab3d2e9440edcb7c17b8b36ed9b85ed6eee6a2
url: "https://pub.dev"
source: hosted
version: "9.0.11"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: "23770c69594f5260a79fe9d84e29f8b175d1b05d128e751c904b3cdf910e5dfc"
url: "https://pub.dev"
source: hosted
version: "1.0.9"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: b06739349ec2477e943055aea30172c5c7000225f79dad4702e2ec0eda79a6ff
url: "https://pub.dev"
source: hosted
version: "1.0.5"
logging:
dependency: transitive
description:
@ -683,10 +659,10 @@ packages:
dependency: transitive
description:
name: material_color_utilities
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
url: "https://pub.dev"
source: hosted
version: "0.8.0"
version: "0.5.0"
material_segmented_control:
dependency: "direct main"
description:
@ -699,10 +675,10 @@ packages:
dependency: transitive
description:
name: meta
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
url: "https://pub.dev"
source: hosted
version: "1.11.0"
version: "1.10.0"
mime:
dependency: transitive
description:
@ -1276,14 +1252,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.1"
vm_service:
dependency: transitive
description:
name: vm_service
sha256: a13d5503b4facefc515c8c587ce3cf69577a7b064a9f1220e005449cf1f64aad
url: "https://pub.dev"
source: hosted
version: "12.0.0"
wakelock_plus:
dependency: transitive
description: