From b85e3515e887d8ec2722b8a941e74326b8cdf71b Mon Sep 17 00:00:00 2001 From: sindhu Date: Thu, 25 Jan 2024 15:08:52 +0700 Subject: [PATCH] step 8 : add ui homescreen --- images/alert_badge.png | Bin 0 -> 432 bytes images/avatar_c.png | Bin 0 -> 885 bytes images/card_bg_1.png | Bin 0 -> 83521 bytes images/divider.png | Bin 0 -> 332 bytes images/finger_tap.png | Bin 0 -> 597 bytes images/finger_tap_botnav.png | Bin 0 -> 29411 bytes images/finger_tap_orange_botnav.png | Bin 0 -> 2118 bytes images/home_orange.png | Bin 0 -> 393 bytes images/person.png | Bin 0 -> 1472 bytes images/person_available_grey.png | Bin 0 -> 450 bytes images/person_delete_grey.png | Bin 0 -> 477 bytes images/person_grey.png | Bin 0 -> 429 bytes images/task.png | Bin 0 -> 1575 bytes images/task_pending_grey.png | Bin 0 -> 467 bytes lib/app/constant.dart | 57 +++ lib/app/route.dart | 3 +- lib/main.dart | 14 +- lib/screen/home/home_screen.dart | 767 ++++++++++++++++++++++------ lib/screen/home/home_screen_v1.dart | 181 +++++++ lib/widget/real_date.dart | 25 + lib/widget/real_time.dart | 39 ++ 21 files changed, 928 insertions(+), 158 deletions(-) create mode 100644 images/alert_badge.png create mode 100644 images/avatar_c.png create mode 100644 images/card_bg_1.png create mode 100644 images/divider.png create mode 100644 images/finger_tap.png create mode 100644 images/finger_tap_botnav.png create mode 100644 images/finger_tap_orange_botnav.png create mode 100644 images/home_orange.png create mode 100644 images/person.png create mode 100644 images/person_available_grey.png create mode 100644 images/person_delete_grey.png create mode 100644 images/person_grey.png create mode 100644 images/task.png create mode 100644 images/task_pending_grey.png create mode 100644 lib/screen/home/home_screen_v1.dart create mode 100644 lib/widget/real_date.dart create mode 100644 lib/widget/real_time.dart diff --git a/images/alert_badge.png b/images/alert_badge.png new file mode 100644 index 0000000000000000000000000000000000000000..8acbeaacb3e489ea5db6b7b47c6bb6b8fb09d58a GIT binary patch literal 432 zcmV;h0Z;ykP)2iAYEAt3Y9- zB*y-d33%Jr@2vfcpj3);|4>L)bNAk3TIk-VQ`<6k)_&J$VA3${RKt3WLuCTOaV$iBh0 zFol({n&i&gT~~oi{3XWMMjV}as9(cO56eBPV>~wM`Cc+%P9VP+tn-J#AnT0qe76|* a58eTI)LHmBqhB2W0000L^9Y{o-MblpXxtDFFepQy6u_y% zQ_3?q1ly2dw!yrfez_BRydG5PL=p0k2oH!T0}mL;vE{4?TdrjOg@Qy##t<#Z%mCHE z2rcu%MZ(Go+8Ym2roDYmX3V0NFrL}N!-e#Em`A08)KA1JYw~mu^`Ky_k@NhE%81#l zdWjN>GR1$~GBrYsBHu8E*7TbwC+OH`0yK_6_st^WCDX7L#Y<=c*1DzJ(s67dS*kfS z3Ae38WBpOk#9QjKaTv0Xv_7%U3`*`d|icClVyi zJu^Wr9uNO-mlL$)&Wz?wyc%s%(`2EHiG46gs9}-gLq`0aa=fr~j z_y#p5Wsro1^E)1!lUW3+~+&?Lk<3(+_hlzyQ#EoISY7}@m7NjF=PI&53p zyok!7afH&v&KKV(5tLre<*l`Mbs`!eM!StuE%lk?s-2`xth1=xaqAPFesFHKccR)Z z4b{b`#Aocm;Yhi2ql=GYCZ&Od>)8TSN2rlp2%hp(eqc4J2Ucd5m literal 0 HcmV?d00001 diff --git a/images/card_bg_1.png b/images/card_bg_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ba60fbe06933e90f316fabd256146e31481d8ce6 GIT binary patch literal 83521 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%0Ap*1O|w_MUxCuLoYB{ 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 literal 0 HcmV?d00001 diff --git a/images/divider.png b/images/divider.png new file mode 100644 index 0000000000000000000000000000000000000000..466a04524b9a98e0b9cab80b1f30ac14764a3d8f GIT binary patch literal 332 zcmV-S0ki&zP)dF^QQo5~m<43OZyECtrs+=ysx$3WCqMI}>pbpAduJ z_4nC+s8DMDfR|Wc6Tg3xSTDplE)Nv$fWz9`=?vet` literal 0 HcmV?d00001 diff --git a/images/finger_tap.png b/images/finger_tap.png new file mode 100644 index 0000000000000000000000000000000000000000..4a49821d967e7d54f563489ce86ce81e97c10a22 GIT binary patch literal 597 zcmV-b0;>IqP)p&2l*+j_y@?&>kP6SR)2c!dTkcb26fK&jf08;@VAp+u%bU->Fw*+xuJFt-uSc1&3 zyAHvIII+OIi#7J!^_w@dvjBexOa{SD)fGbA0+C<29CsEi)LazU6U^cN?zldWQ~naU zKx~7+!(e;u(Yd*Puzt00000NkvXXu0mjfgTDT5 literal 0 HcmV?d00001 diff --git a/images/finger_tap_botnav.png b/images/finger_tap_botnav.png new file mode 100644 index 0000000000000000000000000000000000000000..5fd1eeda78b895d64bc96af91909d92954c8f1e4 GIT binary patch literal 29411 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 u5fw@iT%#Jo{`-ye))D1eC}` zN6Qf*#N9O~8biNX2)vtk_qCF}q$J_S4{qsJh`q+c3$rwekT^enprsp1plDYe?}(mX zGxeEQ6kKQ+815?OlA?qoOZ%4Y5`zi^0ekEF?;rJgzGqj}mR6ynG1M21xn=Z*C*inG zt2p<}1(nfjowuT^QrD?dAb5Tfl>jOgs~;HYD|k+!4|SZzA;;QoJxgIsO0}&}oLA6Q zb#S}>L}MDc>^f(dhrGh2>a_^0S2#%Ku4LYibKtrt{teFoa@pOva(g)~&UMk}Fd@qL zcyAEgv->eF+<0 ze+$&J379++135YZrBJo+W2o8xiGDwQ`!OzYjGZegQRyK7$Q!E_=9HqUj&q90jY8COj07c__=`C}umZv-LhQ zd*eH(-gnHse@eV3AH3n-kKDKJR3C_!Udg&9v}HR?Uq0!+C)dmrO+9-8Ge2Ge+k|NR z1Tw5{!Qv8!Xfz5`EBMUJ50|nE$^}o8OEjix=iUXeGvR9|&l~~u=poof*L6H%mtxW4 zk`OaB=EdSkDr`8q17^qq8MdTcqNUlevt0|G9R8E)v~v(57w2nBts{K_k==EO-!2Fz z0C#~w=6)O0uZ7=0Zd-^8a{c4*)2(vT3x2Dw;LSzcXLGawI9Wa0UXD9`3U^r63jc(nT z936)F;Xfb%BAhh|!~Arsi76ypunn*nGjb@AETcu_>!+`tgH=IoZCeFKUHqEA^NU** zSP~Nvn~_rF2@~TA9FA-}dp&Om!i`7B$1De@t@wdhN;f&e)L;y!ehS5HA)ix2+=Z(- z{5b{5hrt4ol4mQe1Y1B5a1XgMm1mhLIXzEvw^nda21$&rDCpMN@Bl z%w$NCi4CjE97!{TUL&i+5w&Dqgegp09b22}hl8m$!HwgDvNq1fQyaK|CV2MMr(l|- zlzMKk7Ov?kPn<(5OSCzE#s%~{jXrhxgpE;tCq2nBNGTQRa#L6l#*O^c00oV{t-!J8+Ox7sP#Cy@3luvI1%W$Whr#J9K z8!xb6+z43i%EcS{hqtBw$r3JcDB3P0T!(<*j4{t>;<1XQ84fi$0rH;*fekZKRd%$g ze{p&GvT?!jgHi7EN8mY`IAm?FW*%6UR+0*eT7I}5AZuH;6g}ribWnBODrK3qF*y^N zNmOMo_OBFpfk>|7IfY9F#1~<`BlUhIPOgvgrp{$mRS#H7IjvHhhHE1|`991m9A`~j zGquwdTU8*A<#W+A1qW-`Or@0Tuazy}qG?tf<#P8V!u8WwkZ279!xvUM&GW>#@q=6F z%k=7!%0nDNvNfy z@S;zK)SzE3nfF#;k+g_PV5?u2$n#!M!JrMXG6`&Xuio(Kg_>4S*eaxIRlGqwVk7;a wW>DF&VaB8&hXi+|z&QPK2cAw11+_{1|BmiRv608Wq5uE@07*qoM6N<$f&}Q{HUIzs literal 0 HcmV?d00001 diff --git a/images/home_orange.png b/images/home_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..60cd1669669b4d2b3e19a295c352dbd23de039f8 GIT binary patch literal 393 zcmV;40e1e0P)tbo54%?ApjtR)@NScGmi^L}aOv85HW=5r;!LtP71n8T< z?Up6Sf`{VJs@X2st?(>$}Uy37GaeF_;rtQ|d_dmm$kLh-gDuNbCT>qs`?x0NdC8 z0KUv`?l)h*xfsUaoS8l)MiIae-WS_J@oHzlNa8(Qa$NvtBo$=2C4gowRIft*Sqq7?O#52->`r65(!rBW*Ohy;gJ>80s~Ll5E79ylk*p5T&J zJv0)Rs)t1Cgmdjb+u5=EuWsi22s)Jz z4xjDkyF*ccKvP%)6fsCbWE5hjYY@6r7$%D``ZaMr|4j=@bzMG!xTs$m}E$4BNss zHM(9`2=|Fj5^(_AwEkf#R`1%e(4yPJkxY;1h7Km}E|5(-MYCOVuBAqOl(BUMU zE|YDoK3DU{<{$m0AVY&r$B?-Fe7LLnR7D6YH1wna7lcrc2rrI|R7#|Z5cURKFouS9 zDmIsd1nLdKn}p&ALTy?7Y?hD3IJ5ySS~=g9j``QdU#Vyi?vQ{}D8&8RvpA}LjjC${ z0_Y(G3{N8fUgb(2G2BSY)hs`C#G@h(QP-wG!=S9w`us0#3=|E zww*O#PzjLxgNIgWBsmNL)4eM*Vxun;R4I~f-UJiS23Ug#+p$1|sG{_D53LrU4H(;z zu+X3oP$u^>BFV?l4wRpT-_?&}5G|<1pN3-8wFjzyv_*)pOc7|QE~NWF4a2JlVw`|D zf2fed1p;SANO%hELe*ZlH}Q5KoDptF9}o_GrVb~d6cDh=o|NP~)KIKJ3ka|U!5N@J zYg~z#SBIZNSp;)MWy%R5^m)DxEr98<%e{X4iK~fg=;GIE9)0bEuUL>eO#UyTB!GxV zI2Cj?|3_&lom+l9!%Ig(#&qAyl!EZvlSS~i(2Q`2OP5Lx5r9wBlY3Iz5EF>{J@A1n z>Qdxgs|bD}6&g*jsrXENjDiQyXL#|VxUkluF8HTuHjfICt|!<<`3#ANWSTiV>o4Xh=yv@}~Vpv4aqu&}P)eEv2S{8v-b=groZBL(P zpJ~)5j^cUq|L?nlMsLFGdT aJo^vXE-{+A!T2u#0000n5Aos0W9awIajj~wFhDw1m+SaPUk|i zqzg~Zm$a4w4|YEcRQy~l=SkK9oOO~u`6WCY2V1@tM6?=GTWcq74uNh?uP%7%KJ0jKc%tO`_Gy0>&b+s4D0QJ s*5|dp%TED(XUaDJ^2}%4wiUMVKUd*?_ayR|d;kCd07*qoM6N<$g2MN=bN~PV literal 0 HcmV?d00001 diff --git a/images/person_delete_grey.png b/images/person_delete_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..efd948a24292d49198a633f8a63fffdcc114856e GIT binary patch literal 477 zcmV<30V4j1P)Ym z!$1s%Z8uey^akVz(;KuWKs`Yp5>j^*R3vsx_dv^@N4P<6&~k%vf(|z*>nLM9C6J_( zh$3MrFWd9^x2*vDgJD&mKh_Eelw@q9TfKn4LWYy+H8SY$Z)Pyoax0qaZCO5f3MRUp z2ka^#gmP)9Fb_f&+GUA|cmjt)M0}}aq;h{L#9EBxVLY^jdpH#0hF7n1M~3;Dy0+5F z`O}?_svw2!?A8j<+{@y@S1DTlu98pM@0B8hvnU_5otyQuBZ-jeQo4%T&QO8L+(mcxE1#W)Ri{oRHMz; z8FcMugGJ=2CxrM2el~@RgusZJGhx0sk7YIm$it0Z5phf8zGYHS*&3`JNK`1YxO4+% zfSwCC8Zb}0@NIOZ!#D;dz^3$Vf&fe$<5EIlnj#zH!Q(GKW~rTCYBd_`aNqw4PPUH~ TmFH(K00000NkvXXu0mjfAHKyh literal 0 HcmV?d00001 diff --git a/images/person_grey.png b/images/person_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..e41ba5de0d7de8af8b8815578d349431decb79e6 GIT binary patch literal 429 zcmV;e0aE^nP)nJq_ExRkg3VqaX?iizkN4x$K&Ep8V8T{z(1eF+n2#RhI#2o(_c15S92P(f9} zIw1zd$Pp^oP6t~gI_5eHeg|zkt{Cd{i(TinQv4)uu2wjCYM&^5UUVp?j2!b_hfDR1 zp1d3UnY`L2ix|tpn;WRDYirkvXi7vd)bSDcoL+Al1pJObh$(jp6vYoZwZ!4=%SuGj zDUhSyMp1OGmveZ-Q&VGVYg$`bnl0Oczw{fKsS;d_Rw$rnp(ZjfLQ59=LTY3#`OpClSeD>eQ(M5TaUjX)UBvL{!;COiPp5Q6e-r zmT*ihXevbSiH;Ic1;_NR9$OP$6Vf*^;q27LjzTw%OJQakTGcE)fFR=r>8Q0^GO?z5$!u07H^=uY+$c(aUP!_GmX4!WHRNfqVew6clCs zlF0%XGVtK>3)(k1*;aBSJb47#Ba7MZr_ct!eb8;uL+n{wp$OxUX}F-2UZZWT`>k?_ z?c-b)Fs4eRAug!Jz7&!?BvQ;`bDmK6VSOJZ;TXQ1hL~`lE!(`9>0*u-KwOAG4k;k> ztNB4j3WWxMG^~F`NP&Wa*vMvqqX?twM=Mak39>fGEFt95`aUQ^FTHz8sUw(QWS~v7 zhS)=O9NZ)hUJvx^bssFEf)Pddh^Sd80@N2d$@D%m5Ak&D73*w-5Hdem1BOsHm5g!Mg=ANc5JJfer7FV+T(0Xgk4x>xx^|99dX);g zg~(tHT{@ypsTfP`wTdF@q5|1pZF^Guj&aC$^?h*G=5VR4H_JIR*vzkd=O`~VSp{N|JR#&JtH+o`0?0SHqbfnHloDYnqRQ9q|bfbQt?^OwB}SS|(QEW3CPoqea}*V`{;!cotg@_002ovPDHLkV1g~N-0A=T literal 0 HcmV?d00001 diff --git a/images/task_pending_grey.png b/images/task_pending_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..c893fb2791b886ee3937671a139158a555cc4ef1 GIT binary patch literal 467 zcmV;^0WAKBP)$hKLGzNXkP{+={o}YyPPwEH6qL(Ze_d$Fr3H%B1X_8Yf9bwP|lPt zjFAXB&``)?*)oa{;1z0uNEbx-3Is2VoRpCQ&-v@wV4^00$83T;6&!GpWDeChx1g3I zu61_=_>f1wu`w1%k2!9|qK-k5BE{N~vT>TyA(s?#_xq}>EW?QZ$A6aK08WeN9`~jP z`i{P0!a!|4aySV_I~lkx9VsQxj8|p0jHJ;KMZkOG)iT&@Kr_G;)C9`$k^>%tc3GV( zKi7q}s1PBpFtB3+xM3^HKGowbKsnLUF;5@wv*pRDze3^wf-gRwJb(pn&4R(twuw?4 z-N~n4W3+eNmdop#YBzEw&-*EjwFV7k#0~rAn)jG?7|L=xe*nm3g&+b(!_5Ey002ov JPDHLkV1h*B!WjSn literal 0 HcmV?d00001 diff --git a/lib/app/constant.dart b/lib/app/constant.dart index 8b4afe9..0efe329 100644 --- a/lib/app/constant.dart +++ b/lib/app/constant.dart @@ -14,8 +14,11 @@ class Constant { static double designWidthPhone = 390; // color theme + static Color textTrueBlack = const Color(0xff000000); static Color textBlack = const Color(0xff212B36); static Color textLightGrey = const Color(0xff919EAB); + static Color textOrange = const Color(0xffF15A29); + static Color textDarkGrey = const Color(0xff637381); // size convertion static double getActualXPhone({ @@ -53,4 +56,58 @@ class Constant { fontWeight: FontWeight.w700, ); } + + static TextStyle titleH2_600_14({required BuildContext context}) { + return TextStyle( + fontSize: Constant.getActualYPhone(context: context, y: 14), + fontWeight: FontWeight.w600, + fontFamily: 'Public Sans'); + } + + 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_700({required BuildContext context}) { + return TextStyle( + fontFamily: 'Quicksand', + fontSize: Constant.getActualYPhone(context: context, y: 14), + fontWeight: FontWeight.w700, + ); + } + + static TextStyle time_700({required BuildContext context}) { + return TextStyle( + fontSize: Constant.getActualYPhone(context: context, y: 28), + fontWeight: FontWeight.w700, + fontFamily: 'Quicksand', + ); + } + + 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.w500, + fontFamily: 'Public Sans', + ); + } + + static TextStyle date_600({required BuildContext context}) { + return TextStyle( + fontSize: Constant.getActualYPhone(context: context, y: 16), + fontWeight: FontWeight.w600, + fontFamily: 'Quicksand', + ); + } } diff --git a/lib/app/route.dart b/lib/app/route.dart index 7f363a3..c7d1069 100644 --- a/lib/app/route.dart +++ b/lib/app/route.dart @@ -1,5 +1,6 @@ -import 'package:absensi_sas_flutter/screen/home/home_screen.dart'; +import 'package:absensi_sas_flutter/screen/home/home_screen_v1.dart'; import 'package:flutter/material.dart'; +import '../screen/home/home_screen.dart'; import '../test_flutter_map.dart'; import '../screen/login/login_screen.dart'; import '../screen/splash/splash_screen.dart'; diff --git a/lib/main.dart b/lib/main.dart index 297cadf..52e66e5 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,12 +1,23 @@ import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app/route.dart'; +import 'package:intl/date_symbol_data_local.dart'; // import '../test_map.dart'; // final routerProvider = Provider((_) => GlobalKey()); void main() async { WidgetsFlutterBinding.ensureInitialized(); + initializeDateFormatting(); + await SystemChrome.setPreferredOrientations([ + DeviceOrientation.portraitUp, + ]); + SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle( + statusBarIconBrightness: + Brightness.dark, // this will change the brightness of the icons + statusBarColor: Colors.white, // or any color you want + )); runApp( ProviderScope( // overrides: [ @@ -34,7 +45,8 @@ class MyApp extends StatelessWidget { primarySwatch: Colors.orange, ), // home: TestMap(), - initialRoute: loginRoute, + // initialRoute: loginRoute, + initialRoute: homeRoute, // initialRoute: testFlutterMapRoute, onGenerateRoute: AppRoute.generateRoute, ); diff --git a/lib/screen/home/home_screen.dart b/lib/screen/home/home_screen.dart index bc867b9..6e1521b 100644 --- a/lib/screen/home/home_screen.dart +++ b/lib/screen/home/home_screen.dart @@ -1,179 +1,634 @@ -import 'dart:async'; - -import 'package:absensi_sas_flutter/screen/login/logout_provider.dart'; +import 'package:absensi_sas_flutter/app/constant.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:google_sign_in/google_sign_in.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:shared_preferences/shared_preferences.dart'; -import '../../app/constant.dart'; -import '../../app/route.dart'; -import '../../provider/current_user_provider.dart'; -import '../../provider/google_login_provider.dart'; -import '../../widget/sankbar_widget.dart'; +import '../../widget/real_date.dart'; +import '../../widget/real_time.dart'; class HomeScreen extends HookConsumerWidget { const HomeScreen({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { - final isLoading = useState(false); - // final errorMessage = useState(""); - final successMessage = useState(""); - final googleSignIn = ref.watch(googleSignInProvider); - - // final currentUserGoogleAccount = ref.watch(currentUserGoogleProvider); - - GoogleSignInAccount? currentUserGoogle = - ref.watch(currentUserGoogleProvider); - - final selectedUser = ref.read(currentUserProvider); - - // GoogleSignInAccount? accountX; - // final accountX = useState(null); - - // useEffect(() { - // WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { - // final staffID = ref.read(currentUserProvider)?.model.staffId ?? "0"; - // if (staffID == "0" && currentUserGoogle == null) { - // //not login - // Navigator.of(context) - // .pushNamedAndRemoveUntil(loginRoute, (route) => true); - - // // Navigator.popAndPushNamed(context, loginRoute); - // return; - // } - // }); - // return () {}; - // }, []); - - // useEffect(() { - // WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { - // final staffID = ref.read(currentUserProvider)?.model.staffId ?? "0"; - // final accountGoogle = ref.read(currentUserGoogleProvider)?.id ?? "0"; - - // if (staffID == "0" && accountGoogle == "0") { - // //not login - // Navigator.of(context) - // .pushNamedAndRemoveUntil(loginRoute, (route) => true); - - // // Navigator.popAndPushNamed(context, loginRoute); - // return; - // } - // }); - // return () {}; - // }, []); - - // LISTEN PROVIDER - ref.listen(logoutProvider, (prev, next) async { - if (next is LogoutStateLoading) { - isLoading.value = true; - } else if (next is LogoutStateError) { - isLoading.value = false; - // errorMessage.value = next.message; - // Timer(const Duration(seconds: 3), () { - // errorMessage.value = ""; - // }); - SanckbarWidget(context, next.message, snackbarType.warning); - } else if (next is LogoutStateDone) { - isLoading.value = false; - - if (next.model.status == "OK") { - final shared = await SharedPreferences.getInstance(); - final bearerString = shared.get(Constant.bearerName).toString(); - // print(bearerString); - if (bearerString.isNotEmpty) { - shared.remove(bearerString); - shared.clear(); - // Navigator.popAndPushNamed(context, loginRoute); - Navigator.of(context).pushNamedAndRemoveUntil( - loginRoute, - (route) => false, - ); - } - Timer(const Duration(seconds: 3), () async { - successMessage.value = ""; - }); - } else { - SanckbarWidget( - context, - next.model.message.toString(), - snackbarType.warning, - ); - } - } - }); - - Future handleLogout() async { - final googleSignIn = GoogleSignIn(); - - // googleSignIn.signOut(); - await googleSignIn.disconnect(); - await googleSignIn.signOut(); - - // ref.read(currentUserGoogleProvider.notifier).update((state) => null); - // final shared = await SharedPreferences.getInstance(); - // final bearerString = shared.get(Constant.bearerName).toString(); - // if (bearerString.isNotEmpty) { - // shared.remove(bearerString); - // shared.clear(); - // } - - // if (googleSignIn.currentUser != null) { - // GoogleSignIn().signOut(); - // } - - // await GoogleSignIn().disconnect(); - - // Clear state dan kembali ke halaman login - // ref.read(currentUserGoogleProvider.notifier).update((state) => null); - // final shared = await SharedPreferences.getInstance(); - // final bearerString = shared.get(Constant.bearerName).toString(); - // if (bearerString.isNotEmpty) { - // shared.remove(bearerString); - // shared.clear(); - // } - Navigator.of(context) - .pushNamedAndRemoveUntil(loginRoute, (route) => false); - } + return Scaffold( - body: Padding( - padding: const EdgeInsets.all(20), - child: Column( - children: [ - (currentUserGoogle == null) - ? Center( - child: CircularProgressIndicator(), + floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked, + floatingActionButton: Container( + width: Constant.getActualXPhone(context: context, x: 100), + height: Constant.getActualYPhone(context: context, y: 100), + child: FittedBox( + child: FloatingActionButton( + onPressed: () {}, + backgroundColor: Color(0xFFFFFFFF), + shape: CircleBorder(), + child: Container( + width: Constant.getActualXPhone(context: context, x: 50), + height: Constant.getActualYPhone(context: context, y: 50), + decoration: BoxDecoration( + image: DecorationImage( + image: AssetImage( + 'images/finger_tap_orange_botnav.png'), // Ganti dengan path gambar Anda + ), + ), + ), + ), + ), + ), + bottomNavigationBar: Container( + width: Constant.getActualXPhone(context: context, x: 390), + height: Constant.getActualYPhone(context: context, y: 84), + decoration: BoxDecoration( + color: Color(0xFFFFFFFF), + boxShadow: [ + BoxShadow( + offset: Offset(0, -1), + blurRadius: 8, + spreadRadius: -8, + color: Color.fromRGBO(0, 0, 0, 0.10), + ), + ], + ), + child: Row( + children: [ + Expanded( + child: Container( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image( + image: AssetImage('images/home_orange.png'), + ), + Text( + 'Beranda', + style: Constant.subtitle_500_12(context: context).copyWith( + color: Constant.textOrange, + ), ) - : Container( + ], + ), + )), + Expanded( + child: Container( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image( + image: AssetImage('images/person_grey.png'), + ), + Text( + 'Profile', + style: Constant.subtitle_500_12(context: context).copyWith( + color: Constant.textLightGrey, + ), + ) + ], + ), + )), + ], + ), + ), + body: SafeArea( + child: SingleChildScrollView( + child: Container( + width: Constant.getActualXPhone(context: context, x: 390), + // height: Constant.getActualYPhone(context: context, y: 844), + child: Column( + children: [ + Padding( + padding: EdgeInsets.only( + top: Constant.getActualYPhone(context: context, y: 58), + left: Constant.getActualXPhone(context: context, x: 33), + right: Constant.getActualXPhone(context: context, x: 27), + ), + child: Container( child: ListTile( - leading: GoogleUserCircleAvatar( - // identity: accountX.value!, - // identity: selectedUser?.googleSignInAccount, - identity: currentUserGoogle, - ), + leading: Container( + width: + Constant.getActualXPhone(context: context, x: 36), + height: + Constant.getActualYPhone(context: context, y: 36), + child: Image( + image: AssetImage('images/avatar_c.png'), + )), title: Text( - // accountX.value!.displayName ?? "" - // selectedUser?.model.name ?? "", - currentUserGoogle.displayName ?? "", + "Stephen Kusumo", + overflow: TextOverflow.ellipsis, + style: Constant.titleH1_700(context: context) + ..copyWith( + color: Constant.textBlack, + ), ), - // currentUserGoogle?.displayName ?? ""), subtitle: Text( - // currentUserGoogle?.email ?? "", - selectedUser?.model.email ?? "", - // accountX.value!.email + "Step@example.com", + style: + Constant.subtitle_500_12(context: context).copyWith( + color: Constant.textLightGrey, + ), ), - trailing: IconButton( - icon: Icon(Icons.logout_outlined), - onPressed: () async { - handleLogout(); - }, + trailing: Container( + width: + Constant.getActualXPhone(context: context, x: 36), + height: + Constant.getActualYPhone(context: context, y: 36), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(12.0), + color: Colors.white, + shape: BoxShape.rectangle, + boxShadow: [ + BoxShadow( + offset: Offset(0, 12), + blurRadius: 24, + color: Color.fromRGBO(145, 158, 171, 0.12), + ), + ], + ), + child: IconButton( + onPressed: () {}, + icon: Container( + width: Constant.getActualXPhone( + context: context, x: 20), + height: Constant.getActualYPhone( + context: context, y: 20), + child: Image( + image: AssetImage('images/alert_badge.png'), + ), + ), + ), ), ), ), - ], + ), + + SizedBox( + height: Constant.getActualYPhone(context: context, y: 44), + ), + + //Card Time + Padding( + padding: EdgeInsets.only( + left: Constant.getActualXPhone(context: context, x: 33), + right: Constant.getActualXPhone(context: context, x: 27), + ), + child: Container( + width: Constant.getActualXPhone(context: context, x: 330), + height: Constant.getActualYPhone(context: context, y: 200), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(40), + image: DecorationImage( + image: AssetImage( + 'images/card_bg_1.png'), // Ganti dengan path gambar Anda + fit: BoxFit.fill, // Sesuaikan cara gambar ditampilkan + ), + ), + child: Padding( + padding: EdgeInsets.only( + top: Constant.getActualYPhone(context: context, y: 16), + left: Constant.getActualXPhone(context: context, x: 25), + right: + Constant.getActualXPhone(context: context, x: 25), + ), + child: Container( + width: + Constant.getActualXPhone(context: context, x: 280), + height: + Constant.getActualYPhone(context: context, y: 150), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + // Date + RealTimeFormattedDate(), + SizedBox( + height: Constant.getActualYPhone( + context: context, y: 8), + ), + + //Time + RealTimeClock(), // Menampilkan waktu real-time menggunakan RealTimeClock + SizedBox( + height: Constant.getActualYPhone( + context: context, y: 20), + ), + Row( + mainAxisAlignment: MainAxisAlignment + .center, // Menengahkan secara horizontal + children: [ + Spacer(), // Spasi di sebelah kiri "Check In" + Column( + children: [ + Image.asset( + 'images/finger_tap.png', // Path gambar untuk "Check In" + width: Constant.getActualXPhone( + context: context, x: 22), + height: Constant.getActualYPhone( + context: context, y: 22), + ), + SizedBox( + height: Constant.getActualYPhone( + context: context, y: 8), + ), + Text( + '--:--', + style: TextStyle( + // Atur gaya teks '--:--' sesuai kebutuhan + ), + ), + Text( + 'Clock In', + style: + Constant.titleH2_700(context: context) + .copyWith( + color: Constant.textLightGrey, + ), + ), + ], + ), + + SizedBox( + width: Constant.getActualXPhone( + context: context, x: 96), + ), // Jarak antara "Check In" dan "Check Out" + Column( + children: [ + Image.asset( + 'images/finger_tap.png', // Path gambar untuk "Check Out" + width: Constant.getActualXPhone( + context: context, x: 22), + height: Constant.getActualYPhone( + context: context, y: 22), + ), + SizedBox( + height: Constant.getActualYPhone( + context: context, y: 8), + ), + Text( + '--:--', + style: TextStyle( + // Atur gaya teks '--:--' sesuai kebutuhan + ), + ), + Text( + 'Clock Out', + style: + Constant.titleH2_700(context: context) + .copyWith( + color: Constant.textLightGrey, + ), + ), + ], + ), + Spacer(), // Spasi di sebelah kanan "Check Out" + ], + ), + + SizedBox( + height: Constant.getActualYPhone( + context: context, y: 16), + ), + ], + ), + ), + ), + ), + ), + + SizedBox( + height: Constant.getActualYPhone(context: context, y: 56), + ), + + //Menu Cuti Lembur + Padding( + padding: EdgeInsets.only( + left: Constant.getActualXPhone(context: context, x: 33), + right: Constant.getActualXPhone(context: context, x: 27), + ), + child: Container( + width: Constant.getActualXPhone(context: context, x: 330), + child: Row( + children: [ + //Menu Cuti + Container( + width: + Constant.getActualXPhone(context: context, x: 98), + // color: Colors.amber, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Color.fromRGBO(145, 158, 171, 0.20), + ), + ], + ), + child: Padding( + padding: EdgeInsets.only( + left: Constant.getActualXPhone( + context: context, x: 12), + right: Constant.getActualXPhone( + context: context, x: 12), + top: Constant.getActualYPhone( + context: context, y: 8), + bottom: Constant.getActualYPhone( + context: context, y: 8), + ), + child: InkWell( + onTap: () {}, + child: Column( + children: [ + Container( + child: Image( + width: Constant.getActualXPhone( + context: context, x: 50), + height: Constant.getActualYPhone( + context: context, y: 50), + image: AssetImage('images/person.png'), + ), + ), + SizedBox( + height: Constant.getActualYPhone( + context: context, y: 8), + ), + Text( + 'Cuti', + style: Constant.titleH2_600_14( + context: context) + .copyWith( + color: Constant.textDarkGrey, + ), + ), + ], + ), + ), + ), + ), + + SizedBox( + width: + Constant.getActualXPhone(context: context, x: 18), + ), + + //Menu Lembur + Container( + width: + Constant.getActualXPhone(context: context, x: 98), + // color: Colors.amber, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Color.fromRGBO(145, 158, 171, 0.20), + ), + ], + ), + child: Padding( + padding: EdgeInsets.only( + left: Constant.getActualXPhone( + context: context, x: 12), + right: Constant.getActualXPhone( + context: context, x: 12), + top: Constant.getActualYPhone( + context: context, y: 8), + bottom: Constant.getActualYPhone( + context: context, y: 8), + ), + child: InkWell( + onTap: () {}, + child: Column( + children: [ + Container( + child: Image( + width: Constant.getActualXPhone( + context: context, x: 50), + height: Constant.getActualYPhone( + context: context, y: 50), + image: AssetImage('images/task.png'), + ), + ), + SizedBox( + height: Constant.getActualYPhone( + context: context, y: 8), + ), + Text( + 'Lembur', + style: Constant.titleH2_600_14( + context: context) + .copyWith( + color: Constant.textDarkGrey, + ), + ), + ], + ), + ), + ), + ), + ], + ), + ), + ), + + 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), + bottom: + Constant.getActualYPhone(context: context, y: 40)), + child: Container( + 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, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + ), + ], + ), + ), + ), + ], + ), + ), ), ), ); diff --git a/lib/screen/home/home_screen_v1.dart b/lib/screen/home/home_screen_v1.dart new file mode 100644 index 0000000..142ebe0 --- /dev/null +++ b/lib/screen/home/home_screen_v1.dart @@ -0,0 +1,181 @@ +import 'dart:async'; + +import 'package:absensi_sas_flutter/screen/login/logout_provider.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; +import 'package:google_sign_in/google_sign_in.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:shared_preferences/shared_preferences.dart'; + +import '../../app/constant.dart'; +import '../../app/route.dart'; +import '../../provider/current_user_provider.dart'; +import '../../provider/google_login_provider.dart'; +import '../../widget/sankbar_widget.dart'; + +class HomeScreenV1 extends HookConsumerWidget { + const HomeScreenV1({super.key}); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final isLoading = useState(false); + // final errorMessage = useState(""); + final successMessage = useState(""); + final googleSignIn = ref.watch(googleSignInProvider); + + // final currentUserGoogleAccount = ref.watch(currentUserGoogleProvider); + + GoogleSignInAccount? currentUserGoogle = + ref.watch(currentUserGoogleProvider); + + final selectedUser = ref.read(currentUserProvider); + + // GoogleSignInAccount? accountX; + // final accountX = useState(null); + + // useEffect(() { + // WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { + // final staffID = ref.read(currentUserProvider)?.model.staffId ?? "0"; + // if (staffID == "0" && currentUserGoogle == null) { + // //not login + // Navigator.of(context) + // .pushNamedAndRemoveUntil(loginRoute, (route) => true); + + // // Navigator.popAndPushNamed(context, loginRoute); + // return; + // } + // }); + // return () {}; + // }, []); + + // useEffect(() { + // WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { + // final staffID = ref.read(currentUserProvider)?.model.staffId ?? "0"; + // final accountGoogle = ref.read(currentUserGoogleProvider)?.id ?? "0"; + + // if (staffID == "0" && accountGoogle == "0") { + // //not login + // Navigator.of(context) + // .pushNamedAndRemoveUntil(loginRoute, (route) => true); + + // // Navigator.popAndPushNamed(context, loginRoute); + // return; + // } + // }); + // return () {}; + // }, []); + + // LISTEN PROVIDER + ref.listen(logoutProvider, (prev, next) async { + if (next is LogoutStateLoading) { + isLoading.value = true; + } else if (next is LogoutStateError) { + isLoading.value = false; + // errorMessage.value = next.message; + // Timer(const Duration(seconds: 3), () { + // errorMessage.value = ""; + // }); + SanckbarWidget(context, next.message, snackbarType.warning); + } else if (next is LogoutStateDone) { + isLoading.value = false; + + if (next.model.status == "OK") { + final shared = await SharedPreferences.getInstance(); + final bearerString = shared.get(Constant.bearerName).toString(); + // print(bearerString); + if (bearerString.isNotEmpty) { + shared.remove(bearerString); + shared.clear(); + // Navigator.popAndPushNamed(context, loginRoute); + Navigator.of(context).pushNamedAndRemoveUntil( + loginRoute, + (route) => false, + ); + } + Timer(const Duration(seconds: 3), () async { + successMessage.value = ""; + }); + } else { + SanckbarWidget( + context, + next.model.message.toString(), + snackbarType.warning, + ); + } + } + }); + + Future handleLogout() async { + final googleSignIn = GoogleSignIn(); + + // googleSignIn.signOut(); + await googleSignIn.disconnect(); + await googleSignIn.signOut(); + + // ref.read(currentUserGoogleProvider.notifier).update((state) => null); + // final shared = await SharedPreferences.getInstance(); + // final bearerString = shared.get(Constant.bearerName).toString(); + // if (bearerString.isNotEmpty) { + // shared.remove(bearerString); + // shared.clear(); + // } + + // if (googleSignIn.currentUser != null) { + // GoogleSignIn().signOut(); + // } + + // await GoogleSignIn().disconnect(); + + // Clear state dan kembali ke halaman login + // ref.read(currentUserGoogleProvider.notifier).update((state) => null); + // final shared = await SharedPreferences.getInstance(); + // final bearerString = shared.get(Constant.bearerName).toString(); + // if (bearerString.isNotEmpty) { + // shared.remove(bearerString); + // shared.clear(); + // } + Navigator.of(context) + .pushNamedAndRemoveUntil(loginRoute, (route) => false); + } + + return Scaffold( + body: Padding( + padding: const EdgeInsets.all(20), + child: Column( + children: [ + (currentUserGoogle == null) + ? Center( + child: CircularProgressIndicator(), + ) + : Container( + child: ListTile( + leading: GoogleUserCircleAvatar( + // identity: accountX.value!, + // identity: selectedUser?.googleSignInAccount, + identity: currentUserGoogle, + ), + title: Text( + // accountX.value!.displayName ?? "" + // selectedUser?.model.name ?? "", + currentUserGoogle.displayName ?? "", + ), + // currentUserGoogle?.displayName ?? ""), + subtitle: Text( + // currentUserGoogle?.email ?? "", + selectedUser?.model.email ?? "", + // accountX.value!.email + ), + trailing: IconButton( + icon: Icon(Icons.logout_outlined), + onPressed: () async { + handleLogout(); + }, + ), + ), + ), + ], + ), + ), + ); + } +} diff --git a/lib/widget/real_date.dart b/lib/widget/real_date.dart new file mode 100644 index 0000000..dea3be5 --- /dev/null +++ b/lib/widget/real_date.dart @@ -0,0 +1,25 @@ +import 'dart:async'; + +import 'package:absensi_sas_flutter/app/constant.dart'; +import 'package:flutter/material.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:intl/intl.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; + +class RealTimeFormattedDate extends HookConsumerWidget { + @override + Widget build(BuildContext context, WidgetRef ref) { + final currentTime = useState(DateTime.now()); + + // Format waktu menjadi tanggal yang diinginkan + String formattedDate = + DateFormat('EEEE, d MMMM y', 'id_ID').format(currentTime.value); + + // Tampilkan widget Text dengan tanggal yang diformat + return Text( + formattedDate, + style: Constant.date_600(context: context) + .copyWith(color: Constant.textBlack), + ); + } +} diff --git a/lib/widget/real_time.dart b/lib/widget/real_time.dart new file mode 100644 index 0000000..0397300 --- /dev/null +++ b/lib/widget/real_time.dart @@ -0,0 +1,39 @@ +import 'dart:async'; + +import 'package:absensi_sas_flutter/app/constant.dart'; +import 'package:flutter/material.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:intl/intl.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; + +class RealTimeClock extends HookConsumerWidget { + @override + Widget build(BuildContext context, WidgetRef ref) { + // Menggunakan useState untuk menyimpan waktu saat ini + final currentTime = useState(DateTime.now()); + StreamSubscription? subscription; + + useEffect(() { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { + final clockStream = Stream.periodic( + Duration(seconds: 1), (i) => DateTime.now()); + subscription = clockStream.listen((time) { + currentTime.value = time; + }); + }); + return () async { + subscription?.cancel(); + }; + }, []); + + // Format waktu menjadi tanggal yang diinginkan + String formattedTime = DateFormat('HH:mm:ss').format(currentTime.value); + + // Tampilkan widget Text dengan waktu yang diformat + return Text( + formattedTime, + style: Constant.time_700(context: context) + .copyWith(color: Constant.textBlack), + ); + } +}