update
This commit is contained in:
parent
b45cf8bd73
commit
941e9eaa5b
8 changed files with 91 additions and 19 deletions
|
|
@ -2,12 +2,14 @@ import 'dart:developer';
|
|||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gap/gap.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
import 'package:internet_connection_checker/internet_connection_checker.dart';
|
||||
import 'package:pharmacy_mobile/tables/ref_categories.dart';
|
||||
import 'package:pharmacy_mobile/tables/ref_generic_names.dart';
|
||||
import 'package:pharmacy_mobile/tables/ref_manufactorers.dart';
|
||||
import 'package:pharmacy_mobile/tables/ref_medicines.dart';
|
||||
import 'package:pharmacy_mobile/tables/ref_types.dart';
|
||||
import 'package:pharmacy_mobile/tables/storage.dart';
|
||||
import 'package:pharmacy_mobile/widgets/button_widget.dart';
|
||||
import 'package:pharmacy_mobile/widgets/dropdown_widget.dart';
|
||||
import 'package:pharmacy_mobile/widgets/dropdown_wrapper_widget.dart';
|
||||
|
|
@ -18,6 +20,7 @@ import 'package:pharmacy_mobile/widgets/snackbar_widget.dart';
|
|||
import 'package:pharmacy_mobile/widgets/text_widget.dart';
|
||||
import 'package:pharmacy_mobile/widgets/title_widget.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:uuid/uuid.dart';
|
||||
|
||||
class AddMedicinePage extends StatefulWidget {
|
||||
const AddMedicinePage({super.key});
|
||||
|
|
@ -33,6 +36,7 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
final _refTypes = RefTypes();
|
||||
final _refManufactorer = RefManufactorers();
|
||||
final _refMedicines = RefMedicines();
|
||||
final _storage = Storage();
|
||||
final _nameController = TextEditingController();
|
||||
final FocusNode _focusNode = FocusNode();
|
||||
bool _isLoading = false;
|
||||
|
|
@ -44,6 +48,9 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
late String _selectedType = '';
|
||||
late List _manufactorerList = [];
|
||||
late String _selectedManufactorer = '';
|
||||
late String uuid = '';
|
||||
late bool imageUploaded = false;
|
||||
late String imageUrl = '';
|
||||
|
||||
void _checkResult(List list, String name) {
|
||||
if (list.isEmpty) {
|
||||
|
|
@ -84,8 +91,7 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
|
||||
setState(() {});
|
||||
|
||||
final sample = await _refMedicines.getList2();
|
||||
log(sample.toString());
|
||||
// final sample = await _refMedicines.getList2();
|
||||
} else {
|
||||
if (mounted) {
|
||||
showNotification(context, 'Error: No Internet Connection', false);
|
||||
|
|
@ -125,7 +131,7 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
final medTypeUUID = await _refTypes.getUUID(_selectedType);
|
||||
final medManufactorerUUID = await _refManufactorer.getUUID(_selectedManufactorer);
|
||||
|
||||
await _refMedicines.postMedicine(medName, medManufactorerUUID, medGenericUUID, medTypeUUID);
|
||||
await _refMedicines.postMedicine(uuid, medName, medManufactorerUUID, medGenericUUID, medTypeUUID);
|
||||
} else {
|
||||
if (mounted) {
|
||||
showNotification(context, 'Error: No Internet Connection', false);
|
||||
|
|
@ -140,6 +146,20 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
}
|
||||
}
|
||||
|
||||
void _addImage() async {
|
||||
final imageName = Uuid().v4();
|
||||
uuid = imageName;
|
||||
final ImagePicker picker = ImagePicker();
|
||||
final XFile? image = await picker.pickImage(source: ImageSource.gallery);
|
||||
const storageName = 'ref_medicines_images';
|
||||
|
||||
if (image == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
imageUrl = await _storage.uploadImage(storageName, image, '$imageName.webp');
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
autoRun();
|
||||
|
|
@ -213,6 +233,17 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
|
|||
listTitle: 'manufactorer_name',
|
||||
onChanged: _updateManufactorer)),
|
||||
const Gap(32),
|
||||
// if (imageUrl.isNotEmpty)
|
||||
ClipRRect(
|
||||
borderRadius: BorderRadius.circular(12), // Add your desired border radius here
|
||||
child: Image.network(
|
||||
'https://lijihnvjlucyvxfhghqd.supabase.co/storage/v1/object/public/ref_medicines_images//ab033e88-1933-496b-8e11-47bf85d21d8f.webp',
|
||||
fit: BoxFit.cover,
|
||||
width: 250,
|
||||
height: 250)),
|
||||
// else
|
||||
// ButtonWidget(text: 'Add Image', onPressed: _addImage),
|
||||
const Gap(32),
|
||||
if (_isLoading)
|
||||
const Center(child: CircularProgressIndicator(color: Colors.white))
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue