Application/medcify/lib/pages/main/deliveryPincodes/editPincode/edit_pincode_page.dart

115 lines
4.0 KiB
Dart
Raw Normal View History

2022-09-26 06:33:52 +00:00
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:medcify/components/button.dart';
import 'package:medcify/models/pincode_item.dart';
import '../../../../components/custom_textfield.dart';
import '../../../../navigation/navigation.dart';
import 'edit_pincode_bloc.dart';
class EditPincodePage extends StatelessWidget {
PincodeItem pincode;
EditPincodePage(this.pincode);
@override
Widget build(BuildContext context) {
return GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: (){
FocusManager.instance.primaryFocus?.unfocus();
},
child: Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
backgroundColor: Colors.white,
elevation: 0.25,
automaticallyImplyLeading: false,
title: const Text("Edit Pincode",style: TextStyle(color: Colors.black,fontSize: 17),),
leading: IconButton(
onPressed: (){
Navigation.instance.goBack();
},
icon: const Icon(Icons.keyboard_backspace_rounded,color: Colors.black,),
),
),
body: BlocProvider<EditPincodeCubit>(
create: (context) => EditPincodeCubit(),
child: EditPincodeWidget(pincode),
),
),
);
}
}
class EditPincodeWidget extends StatelessWidget {
PincodeItem pincode;
EditPincodeWidget(this.pincode);
late EditPincodeCubit editPincodeCubit;
@override
Widget build(BuildContext context) {
editPincodeCubit = BlocProvider.of<EditPincodeCubit>(context);
editPincodeCubit.setData(pincode);
return Stack(
children: [
SingleChildScrollView(
padding: const EdgeInsets.only(top: 16,left: 16,right: 16,bottom: 80),
physics: const BouncingScrollPhysics(),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Text("Pincode",style: TextStyle(color: Colors.black,fontSize: 15, fontWeight: FontWeight.w500),),
const SizedBox(height: 16,),
CustomTextField(
hint: "Enter pincode",
controller: editPincodeCubit.pincodeController,
keyboardType: TextInputType.number,
inputFormatters: [
FilteringTextInputFormatter.digitsOnly
],
),
const SizedBox(height: 20,),
const Text("Delivery Fee",style: TextStyle(color: Colors.black,fontSize: 15, fontWeight: FontWeight.w500),),
const SizedBox(height: 16,),
CustomTextField(
hint: "Enter delivery fee",
controller: editPincodeCubit.deliveryFeeController,
keyboardType: TextInputType.number,
inputFormatters: [
FilteringTextInputFormatter.digitsOnly
],
),
const SizedBox(height: 20,),
const Text("Free Above",style: TextStyle(color: Colors.black,fontSize: 15, fontWeight: FontWeight.w500),),
const SizedBox(height: 16,),
CustomTextField(
hint: "Enter free above",
controller: editPincodeCubit.freeAboveController,
keyboardType: TextInputType.number,
inputFormatters: [
FilteringTextInputFormatter.digitsOnly
],
),
const SizedBox(height: 16,),
],
),
),
Align(
alignment: Alignment.bottomCenter,
child: Container(
padding: const EdgeInsets.symmetric(horizontal: 16,vertical: 4),
color: Colors.white,
child: Button(
text: "Update",
onPressed: (){
editPincodeCubit.updatePincode("${pincode.id ?? 0}");
},
),
),
)
],
);
}
}