passage sur pickFile pour le web

pull/4/head
Enzo 1 year ago
parent 52accae66e
commit fe6291de0e

@ -10,8 +10,8 @@ class ProfileInfoUser extends StatelessWidget {
children: [
Expanded(
child: TitleSubtitleCell(
title: "??? cm",
subtitle: "Taille",
title: "X",
subtitle: "Nombre d'activité",
),
),
SizedBox(
@ -19,8 +19,8 @@ class ProfileInfoUser extends StatelessWidget {
),
Expanded(
child: TitleSubtitleCell(
title: "?? kg",
subtitle: "Poids",
title: "h/j",
subtitle: "Temps en activité",
),
),
SizedBox(
@ -28,8 +28,17 @@ class ProfileInfoUser extends StatelessWidget {
),
Expanded(
child: TitleSubtitleCell(
title: "?? ans",
subtitle: "Age",
title: "+ m",
subtitle: "Total dénivelé positif",
),
),
SizedBox(
width: 15,
),
Expanded(
child: TitleSubtitleCell(
title: "- m",
subtitle: "Total dénivelé négatif",
),
),
],

@ -1,5 +1,4 @@
import 'dart:convert';
import 'dart:io';
import 'dart:typed_data';
import 'package:csv/csv.dart';
import 'package:flutter/material.dart';
@ -90,10 +89,12 @@ class ListActivityUtile {
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);
void preAddFile(Uint8List? bytes, String token, String filename,
BuildContext context) async {
if (bytes == null) {
return;
}
Tuple2<bool, String> resultAdd = await addFile(bytes, filename, token);
if (!resultAdd.item1) {
//print("Message error");
return;

@ -14,7 +14,6 @@ class MobileListActivity extends StatefulWidget {
}
class _MobileListActivity extends State<MobileListActivity> {
FilePickerResult? result;
final ListActivityUtile _utile = ListActivityUtile();
@override
@ -54,12 +53,12 @@ class _MobileListActivity extends State<MobileListActivity> {
onPressed: () async {
FilePickerResult? result =
await FilePicker.platform.pickFiles();
if (result != null) {
if (result != null && result.files.isNotEmpty) {
// ignore: use_build_context_synchronously
_utile.addFileMobile(
result.files.single.path!,
_utile.preAddFile(
result.files.first.bytes,
Provider.of<User>(context, listen: false).token,
result.files.single.name,
result.files.first.name,
context);
} else {
print("Picker");

@ -1,9 +1,6 @@
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:smartfit_app_mobile/common_widget/container/list/list_activity_widget.dart';
import 'package:smartfit_app_mobile/modele/utile/list_activity/list_activity_utile.dart';
import 'package:tuple/tuple.dart';
import 'package:universal_html/html.dart' as html;
import 'package:file_picker/file_picker.dart';
import 'package:provider/provider.dart';
@ -24,27 +21,6 @@ class _WebListActivityState extends State<WebListActivity> {
IDataStrategy strategy = RequestApi();
final ListActivityUtile _utile = ListActivityUtile();
void addFileWeb(html.File file, String token) async {
final reader = html.FileReader();
reader.readAsArrayBuffer(file);
reader.onLoadEnd.listen((event) async {
if (reader.readyState == html.FileReader.DONE) {
Uint8List bytes = reader.result as Uint8List;
Tuple2<bool, String> resultAdd =
await _utile.addFile(bytes, file.name, token);
if (!resultAdd.item1) {
return;
}
Tuple2<bool, String> resultGet = await _utile.getFiles(token, context);
if (!resultGet.item1) {
//print("MessageError");
return;
}
}
});
}
@override
Widget build(BuildContext context) {
var media = MediaQuery.of(context).size;
@ -79,6 +55,21 @@ class _WebListActivityState extends State<WebListActivity> {
fontWeight: FontWeight.w700))),
TextButton(
onPressed: () async {
FilePickerResult? result =
await FilePicker.platform.pickFiles();
if (result != null && result.files.isNotEmpty) {
_utile.preAddFile(
result.files.first.bytes,
Provider.of<User>(context, listen: false).token,
result.files.first.name,
context);
} else {
print("Picker");
// msg d'erreur
// User canceled the picker
}
/*
html.FileUploadInputElement uploadInput =
html.FileUploadInputElement();
uploadInput.click();
@ -91,7 +82,7 @@ class _WebListActivityState extends State<WebListActivity> {
Provider.of<User>(context, listen: false)
.token); // Lecture du fichier sélectionné
}
});
});*/
},
child: Text(
"Ajouter",

@ -1,7 +1,6 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:responsive_builder/responsive_builder.dart';
import 'package:smartfit_app_mobile/modele/activity.dart';
import 'package:smartfit_app_mobile/modele/user.dart';
import 'package:smartfit_app_mobile/view/home/mobile/mobile_homeview.dart';
import 'package:smartfit_app_mobile/view/home/no_activity_view.dart';
@ -9,7 +8,7 @@ import 'package:smartfit_app_mobile/view/home/stats_activities_view.dart';
import 'package:smartfit_app_mobile/view/home/web/web_homeview.dart';
class HomeView extends StatefulWidget {
const HomeView({Key? key});
const HomeView({super.key});
@override
State<HomeView> createState() => _HomeViewState();

@ -56,7 +56,6 @@ dependencies:
tuple: ^2.0.2
crypto: ^3.0.3
responsive_builder: ^0.7.0
universal_html: ^2.2.4
flutter_map: ^5.0.0
latlong2: ^0.9.0

Loading…
Cancel
Save