You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mohemm-flutter-app/lib/ui/bottom_sheets/attendence_details_bottom_s...

229 lines
10 KiB
Dart

import 'package:easy_localization/src/public_ext.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/widgets/circular_step_progress_bar.dart';
class AttendenceDetailsBottomSheet extends StatefulWidget {
AttendenceDetailsBottomSheet({Key? key}) : super(key: key);
@override
_AttendenceDetailsBottomSheetState createState() => _AttendenceDetailsBottomSheetState();
}
class _AttendenceDetailsBottomSheetState extends State<AttendenceDetailsBottomSheet> {
@override
void initState() {
super.initState();
}
@override
void dispose() {
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
bottomSheet:BottomSheet(
onClosing: () => print("not getting called"),
builder: (_) => Container(
color: Colors.red,
height: MediaQuery.of(context).size.height*0.9,
child: Column(
children: [
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.vertical( top: Radius.circular(25.0),),
color: MyColors.backgroundBlackColor,
),
margin:EdgeInsets.only(top: 45) ,
padding: EdgeInsets.only(left: 11, right: 11, bottom: 21),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Center(
child: Padding(
padding: const EdgeInsets.all(10),
child: Container(
margin:EdgeInsets.only(top: 5) ,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(35.0),),
color: Color(0xff464646),
),
width: 80,
height: 6,
),
),
),
Container(
padding: EdgeInsets.only(top: 25,left: 11, right: 11, bottom: 10),
child: Column(children: [
"June 13, 2021".toText24(isBold: true, color: Colors.white),
// LocaleKeys.attendanceDetails.tr().toText16(color: Color(0xffACACAC)),
// LocaleKeys.timeLeftToday.tr().toText16(color: Color(0xffACACAC)),
21.height,
] ),
),
Center(
child: CircularStepProgressBar(
totalSteps: 16 * 4,
currentStep: 16,
width: 210,
height: 210,
selectedColor: MyColors.gradiantEndColor,
unselectedColor: MyColors.grey70Color,
child: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
"99%".toText32(color: Colors.white, isBold: true),
"Completed".tr().toText12(color: MyColors.greyACColor),
19.height,
"Shift Time".tr().toText12(color: MyColors.greyACColor),
"08:00 - 17:00".toText22(color: Colors.white, isBold: true),
],
),
),
),
),
],
),
),
Stack(
children: [
Container(
height: 32,
// padding: EdgeInsets.only(top: 24, bottom: 24),
color: MyColors.backgroundBlackColor,
),
Container(
width: double.infinity,
decoration: BoxDecoration(borderRadius: BorderRadius.only(topLeft: Radius.circular(25), topRight: Radius.circular(25)), color: Colors.white),
margin: EdgeInsets.only(top: 10),
padding: EdgeInsets.only(left: 21, right: 21, top: 24, bottom: 24),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceAround,
children:[
Row(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
"Actual Check In ".tr().toText12(color: MyColors.black),
],
),
SizedBox(height: 8,),
Row(
children: [
"08:27".toText22(color: Colors.black, isBold: true),
],
),
SizedBox(height: 30,),
Row(
children: [
"Approved Check In".tr().toText12(color: MyColors.black),
],
),
SizedBox(height: 8,),
Row(
children: [
"09:27".toText22(color: Color(0xff1FA269), isBold: true),
],
),
SizedBox(height: 30,),
Row(
children: [
"Late In".tr().toText12(color: MyColors.black),
],
),
SizedBox(height: 8,),
Row(
children: [
"00:27".toText22(color: Color(0xffD02127), isBold: true),
],
),
SizedBox(height: 30,),
Row(
children: [ "Shortage".tr().toText12(color: MyColors.black),
] ),
SizedBox(height: 8,),
Row(
children: [
"00:00".toText22(color: Colors.black, isBold: true),],
),
],
),
],
),
Row(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
"Actual Check Out".tr().toText12(color: MyColors.black),
],
),
SizedBox(height: 8,),
Row(
children: [
"18:20".toText22(color: Colors.black, isBold: true),],
),
SizedBox(height: 30,),
Row(
children: [ "Approved Check Out".tr().toText12(color: MyColors.black),
],
),
SizedBox(height: 8,),
Row(
children: [
"18:20".toText22(color: Color(0xff1FA269), isBold: true),],
),
SizedBox(height: 30,),
Row(
children: ["Excess".tr().toText12(color: MyColors.black),
],
),
SizedBox(height: 8,),
Row(
children: [
"00:00".toText22(color: Colors.black, isBold: true),],
),
SizedBox(height: 30,),
Row(
children: ["Early Out".tr().toText12(color: MyColors.black),
],
),
SizedBox(height: 8,),
Row(
children: [
"00:00".toText22(color: Colors.black, isBold: true),],
),
],
),
],
),
] ),
),
]),
],
),
)
));
}
}