This commit is contained in:
Odein
2023-11-22 14:53:35 +04:30
parent 22d0390e90
commit cd3b1080f5
298 changed files with 800 additions and 413 deletions
View File
View File
+38 -11
View File
@@ -1,10 +1,14 @@
import 'package:cssd/config/routes.dart';
// ignore_for_file: invalid_use_of_visible_for_testing_member, deprecated_member_use
import 'dart:io';
import 'package:cssd/providers/items.dart';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
import 'package:provider/provider.dart';
class UploaderImage extends StatelessWidget {
class UploaderImage extends StatefulWidget {
final double deviceBlockSize;
final ItemProvider providerObject;
const UploaderImage({
@@ -13,6 +17,11 @@ class UploaderImage extends StatelessWidget {
required this.providerObject,
});
@override
State<UploaderImage> createState() => _UploaderImageState();
}
class _UploaderImageState extends State<UploaderImage> {
@override
Widget build(BuildContext context) {
return Container(
@@ -24,18 +33,18 @@ class UploaderImage extends StatelessWidget {
children: <Widget>[
Container(
margin: EdgeInsets.only(top: 20),
height: providerObject.catchImages.length != 0 ? 60 : 0,
height: widget.providerObject.catchImages.length != 0 ? 60 : 0,
child: ImageBox(
deviceBlockSize: deviceBlockSize,
itemProvider: providerObject,
deviceBlockSize: widget.deviceBlockSize,
itemProvider: widget.providerObject,
),
),
SizedBox(
height: providerObject.catchImages.length != 0 ? 10 : 0,
height: widget.providerObject.catchImages.length != 0 ? 10 : 0,
),
InkWell(
onTap: () async {
await loadAssets(context);
await loadAssetsFromFilePicker(context);
},
child: Container(
width: MediaQuery.of(context).size.width - 40,
@@ -57,9 +66,7 @@ class UploaderImage extends StatelessWidget {
),
InkWell(
onTap: () async {
await Navigator.of(context)
.pushNamed(Routes.captureImageScreen);
// await captureImage(context);
await loadAssetsFromCamera(context);
},
child: Container(
width: MediaQuery.of(context).size.width - 40,
@@ -82,7 +89,7 @@ class UploaderImage extends StatelessWidget {
);
}
Future<void> loadAssets(BuildContext context) async {
Future<void> loadAssetsFromFilePicker(BuildContext context) async {
var providerObject = Provider.of<ItemProvider>(context, listen: false);
List<PlatformFile> files = providerObject.catchImages;
try {
@@ -98,6 +105,26 @@ class UploaderImage extends StatelessWidget {
providerObject.setCatchImages(files);
providerObject.setImages();
}
Future<void> loadAssetsFromCamera(BuildContext context) async {
var providerObject = Provider.of<ItemProvider>(context, listen: false);
List<PlatformFile> _catchImages = [];
var image = await ImagePicker.platform.pickImage(
source: ImageSource.camera,
);
if (image != null) {
_catchImages.add(
PlatformFile(
path: image.path,
name: "item_image",
bytes: File(image.path).readAsBytesSync(),
size: File(image.path).lengthSync(),
),
);
providerObject.setCatchImages(_catchImages);
providerObject.setImages();
}
}
}
class ImageBox extends StatelessWidget {
+1 -1
View File
@@ -306,7 +306,7 @@ class ItemDetailsDataBox extends StatelessWidget {
Container(
width: 45 * _deviceBlockSize,
child: Text(
datas.status == 1 ? 'Success' : 'Failure',
datas.status == 1 ? 'Confirmed' : 'Rejected',
style: TextStyle(
fontWeight: FontWeight.w700,
color: datas.status == 1 ? kBlue : kPink,
View File
View File
+4 -1
View File
@@ -125,7 +125,10 @@ class ItemItemBox extends StatelessWidget {
builder: (context) {
return AlertDialog(
title: Text(
'Do you want to change the status of the item?'),
item!.status == 1
? 'Are you Reject this item?'
: 'Are you Confirm this item?',
),
actions: <Widget>[
TextButton(
onPressed: () {