duplication listActivity
continuous-integration/drone/push Build is passing Details

pull/4/head
Enzo 1 year ago
parent 9ac8265008
commit 1c3596e3fd

@ -0,0 +1,81 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:smartfit_app_mobile/common_widget/container/workout_row.dart';
import 'package:smartfit_app_mobile/modele/user.dart';
import 'package:smartfit_app_mobile/modele/utile/list_activity/list_activity_utile.dart';
import 'package:tuple/tuple.dart';
class ListActivity extends StatefulWidget {
const ListActivity({Key? key}) : super(key: key);
@override
State<ListActivity> createState() => _ListActivity();
}
class _ListActivity extends State<ListActivity> {
final ListActivityUtile _utile = ListActivityUtile();
@override
Widget build(BuildContext context) {
return Material(
color: Colors.transparent,
child: ListView.builder(
padding: EdgeInsets.zero,
physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemCount: Provider.of<User>(context, listen: true).listActivity.length,
itemBuilder: (context, index) {
var activityObj =
Provider.of<User>(context, listen: true).listActivity[index];
var activityMap = activityObj.toMap();
return InkWell(
onTap: () {},
child: WorkoutRow(
wObj: activityMap,
onDelete: () async {
if (await _utile.deleteFileOnBDD(
Provider.of<User>(context, listen: false).token,
activityObj.fileUuid)) {
if (!Provider.of<User>(context, listen: false)
.managerSelectedActivity
.fileNotSelected(activityObj.fileUuid)) {
Provider.of<User>(context, listen: false)
.managerSelectedActivity
.removeSelectedActivity(activityObj.fileUuid);
}
Provider.of<User>(context, listen: false)
.removeActivity(activityObj);
}
},
onClick: () async {
if (!Provider.of<User>(context, listen: false)
.managerSelectedActivity
.fileNotSelected(activityObj.fileUuid)) {
Provider.of<User>(context, listen: false)
.managerSelectedActivity
.removeSelectedActivity(activityObj.fileUuid);
return;
}
Tuple2<bool, String> result =
await _utile.getContentActivity(context, activityObj);
if (!result.item1) {
return;
}
Provider.of<User>(context, listen: false)
.removeActivity(activityObj);
Provider.of<User>(context, listen: false)
.insertActivity(0, activityObj);
},
isSelected: !Provider.of<User>(context)
.managerSelectedActivity
.fileNotSelected(activityObj.fileUuid),
),
);
},
),
);
}
}

@ -1,4 +1,5 @@
import 'dart:convert';
import 'dart:io';
import 'dart:typed_data';
import 'package:csv/csv.dart';
import 'package:flutter/material.dart';
@ -77,4 +78,27 @@ class ListActivityUtile {
}
return const Tuple2(true, "Yeah");
}
Future<bool> deleteFileOnBDD(String token, String fileUuid) async {
Tuple2<bool, String> result = await _strategy.deleteFile(token, fileUuid);
if (!result.item1) {
return false;
}
return true;
}
void addFileMobile(
String path, String token, String filename, BuildContext context) async {
Tuple2<bool, String> resultAdd =
await addFile(await File(path).readAsBytes(), filename, token);
if (!resultAdd.item1) {
//print("Message error");
return;
}
Tuple2<bool, String> resultGet = await getFiles(token, context);
if (!resultGet.item1) {
//print("Message error");
return;
}
}
}

@ -1,14 +1,10 @@
import 'dart:io';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:smartfit_app_mobile/common/colo_extension.dart';
import 'package:smartfit_app_mobile/modele/api/i_data_strategy.dart';
import 'package:smartfit_app_mobile/modele/api/request_api.dart';
import 'package:smartfit_app_mobile/common_widget/container/list/list_activity.dart';
import 'package:smartfit_app_mobile/modele/user.dart';
import 'package:smartfit_app_mobile/common_widget/container/workout_row.dart';
import 'package:smartfit_app_mobile/modele/utile/list_activity/list_activity_utile.dart';
import 'package:tuple/tuple.dart';
class MobileListActivity extends StatefulWidget {
const MobileListActivity({Key? key}) : super(key: key);
@ -19,31 +15,8 @@ class MobileListActivity extends StatefulWidget {
class _MobileListActivity extends State<MobileListActivity> {
FilePickerResult? result;
final IDataStrategy _strategy = RequestApi();
final ListActivityUtile _utile = ListActivityUtile();
Future<bool> deleteFileOnBDD(String token, String fileUuid) async {
Tuple2<bool, String> result = await _strategy.deleteFile(token, fileUuid);
if (!result.item1) {
return false;
}
return true;
}
void addFileMobile(String path, String token, String filename) async {
Tuple2<bool, String> resultAdd =
await _utile.addFile(await File(path).readAsBytes(), filename, token);
if (!resultAdd.item1) {
//print("Message error");
return;
}
Tuple2<bool, String> resultGet = await _utile.getFiles(token, context);
if (!resultGet.item1) {
//print("Message error");
return;
}
}
@override
Widget build(BuildContext context) {
var media = MediaQuery.of(context).size;
@ -82,10 +55,12 @@ class _MobileListActivity extends State<MobileListActivity> {
FilePickerResult? result =
await FilePicker.platform.pickFiles();
if (result != null) {
addFileMobile(
// ignore: use_build_context_synchronously
_utile.addFileMobile(
result.files.single.path!,
Provider.of<User>(context, listen: false).token,
result.files.single.name);
result.files.single.name,
context);
} else {
print("Picker");
// msg d'erreur
@ -117,74 +92,7 @@ class _MobileListActivity extends State<MobileListActivity> {
),
)
])
: Material(
color: Colors.transparent,
child: ListView.builder(
padding: EdgeInsets.zero,
physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemCount: Provider.of<User>(context, listen: true)
.listActivity
.length,
itemBuilder: (context, index) {
var activityObj =
Provider.of<User>(context, listen: true)
.listActivity[index];
var activityMap = activityObj.toMap();
return InkWell(
onTap: () {},
child: WorkoutRow(
wObj: activityMap,
onDelete: () async {
if (await deleteFileOnBDD(
Provider.of<User>(context, listen: false)
.token,
activityObj.fileUuid)) {
if (!Provider.of<User>(context,
listen: false)
.managerSelectedActivity
.fileNotSelected(
activityObj.fileUuid)) {
Provider.of<User>(context, listen: false)
.managerSelectedActivity
.removeSelectedActivity(
activityObj.fileUuid);
}
Provider.of<User>(context, listen: false)
.removeActivity(activityObj);
}
},
onClick: () async {
if (!Provider.of<User>(context, listen: false)
.managerSelectedActivity
.fileNotSelected(activityObj.fileUuid)) {
Provider.of<User>(context, listen: false)
.managerSelectedActivity
.removeSelectedActivity(
activityObj.fileUuid);
return;
}
Tuple2<bool, String> result = await _utile
.getContentActivity(context, activityObj);
if (!result.item1) {
return;
}
Provider.of<User>(context, listen: false)
.removeActivity(activityObj);
Provider.of<User>(context, listen: false)
.insertActivity(0, activityObj);
},
isSelected: !Provider.of<User>(context)
.managerSelectedActivity
.fileNotSelected(activityObj.fileUuid),
),
);
},
),
),
: const ListActivity(),
SizedBox(
height: media.width * 0.1,
),

@ -1,6 +1,7 @@
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:smartfit_app_mobile/modele/utile/list_activity/list_activity_utile.dart';
import 'package:smartfit_app_mobile/view/activity/list_activity.dart';
import 'package:tuple/tuple.dart';
import 'package:universal_html/html.dart' as html;
@ -10,7 +11,6 @@ import 'package:smartfit_app_mobile/common/colo_extension.dart';
import 'package:smartfit_app_mobile/modele/api/i_data_strategy.dart';
import 'package:smartfit_app_mobile/modele/api/request_api.dart';
import 'package:smartfit_app_mobile/modele/user.dart';
import 'package:smartfit_app_mobile/common_widget/container/workout_row.dart';
class WebListActivity extends StatefulWidget {
const WebListActivity({super.key});
@ -23,18 +23,6 @@ class _WebListActivityState extends State<WebListActivity> {
FilePickerResult? result;
IDataStrategy strategy = RequestApi();
final ListActivityUtile _utile = ListActivityUtile();
final IDataStrategy _strategy = RequestApi();
Future<bool> deleteFileOnBDD(String token, String fileUuid) async {
Tuple2<bool, String> result = await _strategy.deleteFile(token, fileUuid);
if (!result.item1) {
//print(fileUuid);
//print("msg d'erreur");
//print(result.item2);
return false;
}
return true;
}
void addFileWeb(html.File file, String token) async {
final reader = html.FileReader();
@ -130,73 +118,7 @@ class _WebListActivityState extends State<WebListActivity> {
),
)
])
: Material(
color: Colors.transparent,
child: ListView.builder(
padding: EdgeInsets.zero,
physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemCount: Provider.of<User>(context, listen: true)
.listActivity
.length,
itemBuilder: (context, index) {
var activityObj =
Provider.of<User>(context, listen: true)
.listActivity[index];
var activityMap = activityObj.toMap();
return InkWell(
onTap: () {},
child: WorkoutRow(
wObj: activityMap,
onDelete: () async {
if (await deleteFileOnBDD(
Provider.of<User>(context, listen: false)
.token,
activityObj.fileUuid)) {
if (!Provider.of<User>(context,
listen: false)
.managerSelectedActivity
.fileNotSelected(
activityObj.fileUuid)) {
Provider.of<User>(context, listen: false)
.managerSelectedActivity
.removeSelectedActivity(
activityObj.fileUuid);
}
Provider.of<User>(context, listen: false)
.removeActivity(activityObj);
}
},
onClick: () async {
if (!Provider.of<User>(context, listen: false)
.managerSelectedActivity
.fileNotSelected(activityObj.fileUuid)) {
Provider.of<User>(context, listen: false)
.managerSelectedActivity
.removeSelectedActivity(
activityObj.fileUuid);
return;
}
Tuple2<bool, String> result = await _utile
.getContentActivity(context, activityObj);
if (!result.item1) {
return;
}
Provider.of<User>(context, listen: false)
.removeActivity(activityObj);
Provider.of<User>(context, listen: false)
.insertActivity(0, activityObj);
},
isSelected: Provider.of<User>(context)
.managerSelectedActivity
.fileNotSelected(activityObj.fileUuid),
),
);
},
),
),
: const ListActivity(),
SizedBox(
height: media.width * 0.1,
),

Loading…
Cancel
Save