Commit ed221f4f by Ramesh Babu Puvvadi

added horizontal scrolling

parent 7bc02900
...@@ -16,18 +16,18 @@ class Home extends StatefulWidget { ...@@ -16,18 +16,18 @@ class Home extends StatefulWidget {
class _Home extends State<Home> { class _Home extends State<Home> {
File? imagefile; File? imagefile;
final TextEditingController _barcodevalue = TextEditingController();
final ImagePicker _picker = ImagePicker(); final ImagePicker _picker = ImagePicker();
late List<File> arraylist = []; late List<File> arraylist = [];
XFile? image; XFile? image;
bool isloading = false; bool isloading = false;
var body_color = ''; var body_color = '';
var body_design_color = ''; var body_design_color = '';
var border_color = ''; var border_color = '';
var border_size = ''; var border_size = '';
var border_work_color = ''; var border_work_color = '';
var status = '';
final PageController _pageController = PageController(initialPage: 0);
List<Widget> pages = [];
Future<void> _getImage(int index) async { Future<void> _getImage(int index) async {
image = await _picker.pickImage(source: ImageSource.camera); image = await _picker.pickImage(source: ImageSource.camera);
...@@ -45,6 +45,124 @@ class _Home extends State<Home> { ...@@ -45,6 +45,124 @@ class _Home extends State<Home> {
super.initState(); super.initState();
} }
Widget buildPage2(String title) {
return Center(
child: Container(
color: const Color.fromRGBO(222, 221, 220, 1),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
if (body_color.isNotEmpty ||
body_design_color.isNotEmpty ||
border_color.isNotEmpty ||
border_size.isNotEmpty ||
border_work_color.isNotEmpty)
Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
const Padding(padding: EdgeInsets.only(bottom: 20)),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text('Body Design Color: $body_design_color\n'),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text('Border Color: $border_color\n'),
],
),
],
)
else
const SizedBox(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(padding: EdgeInsets.only(bottom: 20)),
Text('\n'),
Text('\n'),
],
),
),
],
),
),
);
}
Widget buildPage3(String title) {
return Container(
color: Color.fromARGB(255, 240, 200, 159),
);
}
Widget buildPage1(String title) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
if (body_color.isNotEmpty ||
body_design_color.isNotEmpty ||
border_color.isNotEmpty ||
border_size.isNotEmpty ||
border_work_color.isNotEmpty)
Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
const Padding(padding: EdgeInsets.only(bottom: 20)),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text('Body Color: $body_color\n'),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text('Body Design Color: $body_design_color\n'),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text('Border Color: $border_color\n'),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text('Border Size: $border_size\n'),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text('Border Work Color: $border_work_color\n'),
],
),
],
)
else
const SizedBox(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(padding: EdgeInsets.only(bottom: 20)),
Text('\n'),
Text('\n'),
Text('\n'),
Text('\n'),
Text('\n'),
],
),
),
],
),
);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
...@@ -91,7 +209,8 @@ class _Home extends State<Home> { ...@@ -91,7 +209,8 @@ class _Home extends State<Home> {
fontSize: 18, fontSize: 18,
color: Colors.black, color: Colors.black,
fontStyle: FontStyle.normal, fontStyle: FontStyle.normal,
fontWeight: FontWeight.bold), fontWeight: FontWeight.bold,
),
), ),
const Padding(padding: EdgeInsets.only(top: 15)), const Padding(padding: EdgeInsets.only(top: 15)),
GestureDetector( GestureDetector(
...@@ -108,69 +227,28 @@ class _Home extends State<Home> { ...@@ -108,69 +227,28 @@ class _Home extends State<Home> {
) )
: Image.asset( : Image.asset(
'assets/images/camera.png', 'assets/images/camera.png',
width: MediaQuery.of(context).size.width * width:
0.80, MediaQuery.of(context).size.width * 0.80,
height: height:
MediaQuery.of(context).size.height * MediaQuery.of(context).size.height * 0.60,
0.60,
), ),
), ),
), ),
], ],
), ),
]),
if (isloading)
const CircularProgressIndicator()
else if (body_color.isNotEmpty ||
body_design_color.isNotEmpty ||
border_color.isNotEmpty ||
border_size.isNotEmpty ||
border_work_color.isNotEmpty)
SizedBox(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
const Padding(padding: EdgeInsets.only(bottom: 20)),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text('Body Color: $body_color\n'),
], ],
), ),
Row( SizedBox(
mainAxisAlignment: MainAxisAlignment.start, height: MediaQuery.of(context).size.height * 0.25,
children: [ child: PageView(
Text('Body Design Color: $body_design_color\n'), controller: _pageController,
]), children: pages = [
Row( buildPage1(
mainAxisAlignment: MainAxisAlignment.start, 'Page 1'), // Replace with your content for the first object
children: [ buildPage2('Page 2'),
Text('Border Color: $border_color\n'), buildPage3(
]), 'Page 3'), // Replace with your content for the second object
Row( // Add more pages for other objects
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text('Border Size: $border_size\n'),
]),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text('Border Work Color: $border_work_color\n'),
]),
],
),
)
else
const SizedBox(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(padding: EdgeInsets.only(bottom: 20)),
Text('\n'),
Text('\n'),
Text('\n'),
Text('\n'),
Text('\n'),
], ],
), ),
), ),
...@@ -193,12 +271,12 @@ class _Home extends State<Home> { ...@@ -193,12 +271,12 @@ class _Home extends State<Home> {
context: context, context: context,
builder: (context) { builder: (context) {
return const Center( return const Center(
child: CircularProgressIndicator()); child: CircularProgressIndicator(),
});
var upload = await RemoteData().uploadimage(
imagefile!,
); );
},
);
var upload = await RemoteData().uploadimage(imagefile!);
if (upload != null) { if (upload != null) {
setState(() { setState(() {
isloading = true; isloading = true;
...@@ -213,37 +291,6 @@ class _Home extends State<Home> { ...@@ -213,37 +291,6 @@ class _Home extends State<Home> {
} }
Navigator.of(context).pop(); Navigator.of(context).pop();
//print(body_color);
// if (jsonResponse['success'] == true) {
// if (imagefile != null) {
// imagefile?.delete();
// imagefile = null;
// }
// setState(() {
// //body_color;
// //body_design_color;
// //border_color;
// //border_size;
// //border_work_color;
// Navigator.of(context).pop();
// imagefile != null
// ? Image.file(
// imagefile!,
// //width: 160.0,
// //height: 200.0,
// )
// : Image.asset(
// 'assets/images/camera.png',
// width: MediaQuery.of(context).size.width *
// 0.80,
// height: MediaQuery.of(context).size.height *
// 0.70,
// );
// //Constants.showAlertDialog1('Upload Image', jsonResponse['message']));
// });
// } else {
// Navigator.of(context).pop();
// }
} else { } else {
Constants('Vasthram', 'Check your internet connection') Constants('Vasthram', 'Check your internet connection')
.showAlertDialog(context, true); .showAlertDialog(context, true);
...@@ -252,7 +299,8 @@ class _Home extends State<Home> { ...@@ -252,7 +299,8 @@ class _Home extends State<Home> {
}, },
child: const Text('Upload Image'), child: const Text('Upload Image'),
), ),
]), ],
),
), ),
), ),
); );
...@@ -261,53 +309,32 @@ class _Home extends State<Home> { ...@@ -261,53 +309,32 @@ class _Home extends State<Home> {
void updateUI(Map<String, dynamic> jsonResponse) { void updateUI(Map<String, dynamic> jsonResponse) {
setState(() { setState(() {
// Update variables based on jsonResponse // Update variables based on jsonResponse
status = jsonResponse['status'];
print(status);
if (status == 'Success') {
print('One :$status');
body_color = jsonResponse['body_color']; body_color = jsonResponse['body_color'];
print('One :$body_color');
body_design_color = jsonResponse['body_design_color']; body_design_color = jsonResponse['body_design_color'];
print('One :$body_design_color');
border_color = jsonResponse['border_color']; border_color = jsonResponse['border_color'];
print('One :$border_color');
border_size = jsonResponse['border_size']; border_size = jsonResponse['border_size'];
print('One :$border_size');
border_work_color = jsonResponse['border_work_color']; border_work_color = jsonResponse['border_work_color'];
}); print('One :$border_work_color');
} else {
print('Two :$status');
Constants.dialogMessage(context, 'Vasthram', 'Could not found image');
body_color = '';
body_design_color = '';
border_color = '';
border_size = '';
border_work_color = '';
} }
});
// void getUpdate(String text) async { _pageController.jumpToPage(0);
// Upload? upload = await RemoteData().getValidBarcode(_barcodevalue.text);
// //print('Response Data :${upload?.success}');
// if (upload?.success == 1) {
// } else if (upload?.success == 2) {
// _showDialog();
// } else if (upload?.success == 0) {
// //print(upload!.msg);
// Constants('Multiple Images', upload!.msg).showAlertDialog(context);
// _barcodevalue.text = '';
// }
// }
void showdialog() {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: const Text('Scan Additional Items?'),
content: const Text(
'This item is already Catloged. Scan Additional Pics of this item? Click No to skip this barcode'),
actions: [
TextButton(
onPressed: () {
// Perform some action
Navigator.of(context).pop();
},
child: const Text('Ok'),
),
TextButton(
onPressed: () {
Navigator.of(context).pop();
_barcodevalue.text = '';
},
child: const Text('No'),
),
],
);
},
);
} }
} }
...@@ -5,12 +5,11 @@ import 'package:http/http.dart' as http; ...@@ -5,12 +5,11 @@ import 'package:http/http.dart' as http;
//8008202992 //8008202992
class RemoteData { class RemoteData {
String LoginUrl = 'http://vaman.plutokm.com/login'; final String loginUrl = 'http://vaman.plutokm.com/login';
String Type = "Content-Type"; final String type = "Content-Type";
String App_json = "application/json"; final String appjson = "application/json";
Future<String> getLoginRequest( Future<String> getLoginRequest(String loginid, String pass, String token) async {
String loginid, String pass, String token) async {
Map<String, dynamic> body = { Map<String, dynamic> body = {
'login_id': loginid, 'login_id': loginid,
'password': pass, 'password': pass,
...@@ -27,8 +26,8 @@ class RemoteData { ...@@ -27,8 +26,8 @@ class RemoteData {
} }
var client = http.Client(); var client = http.Client();
var res = await client.post(Uri.parse(LoginUrl), var res = await client.post(Uri.parse(loginUrl),
headers: {Type: App_json}, body: json.encode(body)); headers: {type: appjson}, body: json.encode(body));
if (res.statusCode == 200) { if (res.statusCode == 200) {
return res.body; return res.body;
} else { } else {
...@@ -39,7 +38,7 @@ class RemoteData { ...@@ -39,7 +38,7 @@ class RemoteData {
Future<String?> uploadimage(File imagepath) async { Future<String?> uploadimage(File imagepath) async {
try { try {
final request = http.MultipartRequest( final request = http.MultipartRequest(
'POST', Uri.parse('http://192.168.65.123:5155/vasthram_mobile')); 'POST', Uri.parse('http://vaman.plutokm.com/vasthram_mobile'));
request.files request.files
.add(await http.MultipartFile.fromPath('image', imagepath.path)); .add(await http.MultipartFile.fromPath('image', imagepath.path));
var response = await request.send(); var response = await request.send();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment