[Homepage] 7. add Rekap Presensi
This commit is contained in:
BIN
images/divider.png
Normal file
BIN
images/divider.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 332 B |
BIN
images/person_available_grey.png
Normal file
BIN
images/person_available_grey.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 450 B |
BIN
images/person_delete_grey.png
Normal file
BIN
images/person_delete_grey.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 477 B |
BIN
images/task_pending_grey.png
Normal file
BIN
images/task_pending_grey.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 467 B |
@@ -8,9 +8,11 @@ class Constant {
|
|||||||
static double designWidthPhone = 390;
|
static double designWidthPhone = 390;
|
||||||
|
|
||||||
// color theme
|
// color theme
|
||||||
|
static Color textTrueBlack = const Color(0xff000000);
|
||||||
static Color textBlack = const Color(0xff212B36);
|
static Color textBlack = const Color(0xff212B36);
|
||||||
static Color textDarkGrey = const Color(0xff637381);
|
static Color textDarkGrey = const Color(0xff637381);
|
||||||
static Color textLightGrey = const Color(0xff919EAB);
|
static Color textLightGrey = const Color(0xff919EAB);
|
||||||
|
static Color textOrange = const Color(0xffF15A29);
|
||||||
|
|
||||||
// size convertion
|
// size convertion
|
||||||
static double getActualXPhone({
|
static double getActualXPhone({
|
||||||
@@ -35,6 +37,14 @@ class Constant {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static TextStyle titleH1_500_18({required BuildContext context}) {
|
||||||
|
return TextStyle(
|
||||||
|
fontSize: Constant.getActualYPhone(context: context, y: 18),
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
fontFamily: 'Public Sans'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
static TextStyle titleH2_600({required BuildContext context}) {
|
static TextStyle titleH2_600({required BuildContext context}) {
|
||||||
return TextStyle(
|
return TextStyle(
|
||||||
fontSize: Constant.getActualYPhone(context: context, y: 12),
|
fontSize: Constant.getActualYPhone(context: context, y: 12),
|
||||||
@@ -74,6 +84,22 @@ class Constant {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static TextStyle subtitle_600_14({required BuildContext context}) {
|
||||||
|
return TextStyle(
|
||||||
|
fontSize: Constant.getActualYPhone(context: context, y: 14),
|
||||||
|
fontWeight: FontWeight.w700,
|
||||||
|
fontFamily: 'Public Sans',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
static TextStyle subtitle_500_12({required BuildContext context}) {
|
||||||
|
return TextStyle(
|
||||||
|
fontSize: Constant.getActualYPhone(context: context, y: 12),
|
||||||
|
fontWeight: FontWeight.w700,
|
||||||
|
fontFamily: 'Public Sans',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
static TextStyle date_600({required BuildContext context}) {
|
static TextStyle date_600({required BuildContext context}) {
|
||||||
return TextStyle(
|
return TextStyle(
|
||||||
fontSize: Constant.getActualYPhone(context: context, y: 16),
|
fontSize: Constant.getActualYPhone(context: context, y: 16),
|
||||||
|
|||||||
@@ -169,12 +169,12 @@ class HomepageScreen extends StatelessWidget {
|
|||||||
height:Constant.getActualYPhone(context: context, y: 50),
|
height:Constant.getActualYPhone(context: context, y: 50),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
// color: Colors.green,
|
// color: Colors.green,
|
||||||
image: DecorationImage(
|
image: DecorationImage(
|
||||||
// fit: BoxFit.contain,
|
// fit: BoxFit.contain,
|
||||||
image: AssetImage('images/person.png'),
|
image: AssetImage('images/person.png'),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
|
||||||
|
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: Constant.getActualYPhone(context: context, y: 8),
|
height: Constant.getActualYPhone(context: context, y: 8),
|
||||||
@@ -248,11 +248,194 @@ class HomepageScreen extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
|
SizedBox(
|
||||||
|
height: Constant.getActualYPhone(context: context, y: 56),
|
||||||
|
),
|
||||||
|
|
||||||
|
//Menu Rekap Presensi
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.only(
|
||||||
|
right:Constant.getActualXPhone(context: context, x: 27),
|
||||||
|
left: Constant.getActualXPhone(context: context, x: 33),
|
||||||
|
),
|
||||||
|
child: SizedBox(
|
||||||
|
width: Constant.getActualXPhone(context: context, x: 330),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'Rekap Presensi Bulan Ini',
|
||||||
|
style: Constant.titleH1_500_18(context: context).copyWith(
|
||||||
|
color: Constant.textTrueBlack,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
SizedBox(
|
||||||
|
height: Constant.getActualYPhone(context: context, y: 20),
|
||||||
|
),
|
||||||
|
|
||||||
|
Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
shape: BoxShape.rectangle,
|
||||||
|
borderRadius: BorderRadius.circular(16),
|
||||||
|
color: Colors.white, // Set background color to #FFF
|
||||||
|
boxShadow: [
|
||||||
|
BoxShadow(
|
||||||
|
color: Color.fromRGBO(145, 158, 171, 0.20),
|
||||||
|
blurRadius: 2,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.only(
|
||||||
|
top: Constant.getActualYPhone(context: context, y: 12),
|
||||||
|
bottom: Constant.getActualYPhone(context: context, y: 12),
|
||||||
|
left: Constant.getActualXPhone(context: context, x: 24),
|
||||||
|
right:Constant.getActualXPhone(context: context, x: 24),
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'24 hari',
|
||||||
|
style: Constant.subtitle_600_14(context: context).copyWith(
|
||||||
|
color: Constant.textOrange,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
SizedBox(
|
||||||
|
height: Constant.getActualYPhone(context: context, y: 4),
|
||||||
|
),
|
||||||
|
|
||||||
|
SizedBox(
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Image(
|
||||||
|
image:AssetImage('images/person_available_grey.png'),
|
||||||
|
),
|
||||||
|
|
||||||
|
SizedBox(
|
||||||
|
width: Constant.getActualXPhone(context: context, x: 4),
|
||||||
|
),
|
||||||
|
|
||||||
|
Text(
|
||||||
|
'Kehadiran',
|
||||||
|
style: Constant.subtitle_500_12(context: context).copyWith(
|
||||||
|
color: Constant.textDarkGrey,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
Image(
|
||||||
|
image:AssetImage('images/divider.png'),
|
||||||
|
),
|
||||||
|
|
||||||
|
//Tidak Hadir
|
||||||
|
Container(
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'2 hari',
|
||||||
|
style: Constant.subtitle_600_14(context: context).copyWith(
|
||||||
|
color: Constant.textOrange,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
SizedBox(
|
||||||
|
height: Constant.getActualYPhone(context: context, y: 4),
|
||||||
|
),
|
||||||
|
|
||||||
|
SizedBox(
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Image(
|
||||||
|
image:AssetImage('images/person_delete_grey.png'),
|
||||||
|
),
|
||||||
|
|
||||||
|
SizedBox(
|
||||||
|
width: Constant.getActualXPhone(context: context, x: 4),
|
||||||
|
),
|
||||||
|
|
||||||
|
Text(
|
||||||
|
'Tidak Hadir',
|
||||||
|
style: Constant.subtitle_500_12(context: context).copyWith(
|
||||||
|
color: Constant.textDarkGrey,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
Image(
|
||||||
|
image:AssetImage('images/divider.png'),
|
||||||
|
),
|
||||||
|
|
||||||
|
//Tidak Hadir
|
||||||
|
Container(
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'5 hari',
|
||||||
|
style: Constant.subtitle_600_14(context: context).copyWith(
|
||||||
|
color: Constant.textOrange,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
SizedBox(
|
||||||
|
height: Constant.getActualYPhone(context: context, y: 4),
|
||||||
|
),
|
||||||
|
|
||||||
|
SizedBox(
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Image(
|
||||||
|
image:AssetImage('images/task_pending_grey.png'),
|
||||||
|
),
|
||||||
|
|
||||||
|
SizedBox(
|
||||||
|
width: Constant.getActualXPhone(context: context, x: 4),
|
||||||
|
),
|
||||||
|
|
||||||
|
Text(
|
||||||
|
'Lembur',
|
||||||
|
style: Constant.subtitle_500_12(context: context).copyWith(
|
||||||
|
color: Constant.textDarkGrey,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user