From cd6c3e9c700c755498f28b3428596f76cad0ca98 Mon Sep 17 00:00:00 2001 From: poka Date: Sun, 29 May 2022 04:30:03 +0200 Subject: [PATCH] Dynamic home message; improve node statut UX --- assets/avatars/0.png | Bin 5715 -> 6994 bytes assets/avatars/3.png | Bin 6994 -> 5715 bytes lib/globals.dart | 2 +- lib/providers/home.dart | 10 ++ lib/providers/my_wallets.dart | 17 +++- lib/providers/substrate_sdk.dart | 8 +- lib/providers/wallet_options.dart | 5 +- lib/screens/home.dart | 52 +++++----- lib/screens/myWallets/wallet_options.dart | 23 +++-- lib/screens/settings.dart | 113 +++++++--------------- pubspec.yaml | 2 +- 11 files changed, 116 insertions(+), 116 deletions(-) diff --git a/assets/avatars/0.png b/assets/avatars/0.png index 452efff283e4353c46658ae50262fe4dad73759c..47e563e14283862667587106398567eee52ebd1e 100755 GIT binary patch delta 6970 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 delta 5681 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 CNDznt z;`9FX`|J1l%i~XYKAz8+=ih`94FS4cb%+A=9RV))Q6h8>HF9g0zO7Ug$CpJn_;h>+ zT-ZO9X!17el}YUIk|PQhJ9CirNUZdmY2!oBCK=gEVPl#VMxZt#W)n0S%RqUz zyn%zSQ|3|Hz5Yk98K~{WpFScC*QfKo`O`CUcIMM}n75a?*BcBN`gdOAe*qNlZsq>0 zcw=PgMH$HMh4WuLDN}sZ-AhEy$&% z{beMRdJ3PpNQ+}mzgCH7i4QutRC)6yRxs$-cN`->MVo?wPn#~VDP&Dej_5TJgAIAe zQ#7~w4HZo*;oWs8oUSX)1RpHgP{s!y~TE4KtsV8CmBU7`q%%rbtQ_*3+RXJjq z1O#_Xo5{!Ouc^sY>X z%%3DtmqMq=x-g(I@7-oyntRCUz5IFgxw&j?l3_MhLygYM2Ktfa4{|g9wSxC4(n?1! zr%+e+9OtZTIL8q+c!*CDs1fyZY1cahfBYCk$mDhV&l-;ADO*}%tq2Y&N6>MUAx4FG z#Fc0TJj;BBV5-V&-=?RIHEXPTh!zVFU03@jA&%quN`U;|7gYT0Ag2Qp#qiNJ7KM5C8Tv1b#0bzE&N=I>Vfk1M29GTE_i54WHq5j=Tv06|O z>B%MT^TEoGsfqW*ga%VHzk{jf6g=C#pT6YP@f$AWUwWva;w#%JZN?++xe0mJ3$B}x z{k;y`iUb}Abl$Rl!qCd^Q*RLl*R{4%H0NT!p(B$?{UYK&#YB)npsEd5hK$hF$iKr| zy+;>*5{kb>n(Y)hpDC-BcQ-UNEZ>>BjMqs4AO1S_>ux$BX59I-7JV}iAiI$Hz^v#^ z$=`z$EN^hznsgv~9L0Qc%>GaVqk2mv_E_@xF(E+1Qw^>Y@$jgJ12Gh=0v0rgkB-cd zjb(8%EcwD|d(yPDKWK`l|5^(|t2E?vwdMlzBT4ksEJ&BR3zqKTcw&5;bwS`)N}J4< z>2H`w(2ILJ^&1;6JT9#*GEypbG5nexK(;WC7oxc@tuprqXM|r6UxF2aXP1YMG`)xs z1!N#6L`6rtj~6p{B%eg?e(_&t79%kz52>1m)6Oilh`d=uzIW;Rjay4gzFF~Q;13>B z?5@_KuP{j88G$?-bzj^6r3QAFF6j}(Njwa(e0mvl=UGT2tLn!#LDieT-39bM(=Q5* zZbIm}kC{LJ3_>VtMhFb-1yv z{Ufy)m>A@Cfnp3wl8evmarg+1PA zPgpM2BP*RUMLpzYB4IGJvopL@Moi1cB;9`q4&DP+%X7ZdAmbF9lj8yV&itzdIsqs% zJ0{qiX;@`M`bYi!6g+v_&2Ir#WAYuP0r(`# zLtTZv4@}3w9csnXvHd_O;;UlKu@^^@L&mMLeQqET?V;jqU<-1bum!T#s1-bs_0tbaETB_t%;u1#?Ei;eH8 z47x1qc++cU_}W1tga*q6QMS1se%O$=Vhx*-68nkQ)YR1SP9=?Is>g)yzvLuuh@Z<| z1bXfsMOgo&41)t{Q3f7@Bk?^2ZrkGsgZz-IC!!8$hkCoQ9n{g;l#+SF#_$V|^Xi@M zK3?G+5$I&)mN7|rku#odpq`+XS}>qQfJ( zv@>*`hTO&TF9|WeVQ1No4N%6-D|!kJ3Z^r77LYTg!h3*ydg-oV=ZTN!mOI4VAdDT1$tQMNI{}n!!T3Y`hi@QmTaO;D^}l z@5yd)=%?i{`Rw1)B>V!%FzP1~mR&`5j%#^zL9eia4*3(YwMG zVl#2Iy54}xDkEVtHSMBUM@4yVA|b24Sp^q6qECW?jHuq_nW|gT=v(dzwJrBKO-Gao z#0B4*p4fs8U^L;O?;$2`;cM1jy+)~Rr;;$&mrDOMgni}cm5)`~x*wC8IMYu(_g~fC zQ@T6n{M?~Uqa=0+;)8i!K|j(-vufU2Hkb^0U07X)bv z*ncPb{5wH>zcyn;9DA=1r9kDH45^dN`J}b_7m;Yc$7E*OidS{H9Mrx>{G!PF~h-kh+jhr2Hj zx-6&O1Pc?FMD3%QT=M)xRDse+SVHmV)Z&6v`=yT4C$+Nzy<^2vWrc|yZO9C{`6b!h zfkQW%gQV4xXGb?>&G{4o@IlHiV}I=tPXRiVK*$XCpIDbWxncURiwkJ34&?74q6lor=gx;b^ zrBuL4*`11dzGK7E;(XhWzG0N#hAX?>@~v(XY#ZPK2d>nlg58Ku)}L4yxLB6; zVofiXBM5cDw&9~h6hU9dX+a)^2IvRv4m`A;#Xrgexkn5ql$iyKs)lkuvl%8vSCkBB z!8ZNh=}WD%@XgAo?rc8tT4wbm{~T4>9+x0NTHnTnG9E2 zm`wHZ+_@uF7W9=jn`+?SnyT2je|%-CGa>WusTQ;@Z6i>WBhmG-1zu%U|M_PPZ)HFy zHn7p1b;9u?>2YRS2$lZeWn&y|vMbd-!S=xyF^`p+s(TJ$VolHOm9g-=)pC`9GrTs) zjXmU~p!>QyaJqo{#xcXB|afMqqo{QpFwkq#C%_}s_czK2w6()9ONMgRL(6nEwiog~E4#`TcHGm>I#LXsT2chYMh}ns!*AbmKf!jh zHVN`q=89>AF?a3bkXLlV1D=tsV?>7zSK6s&dM)tr9 z>Oj%eW7B3_s$yY*2x*Cee>yc=4kNQ$Esvmf{oQB#fVk8da1H(R+3)r2ZBc&boHNv=vs%rKsZtUh z!$#EZyMv2cEd@$!F#AI#*VTpzBF2s50tX>tYn55)v3tKsv_BtVtZZHhGylnIT&V7> zl58AY@y*ww1dIu_Ph#lN4vb_a-Y%8fHkD)>Wdvp<8h?2K@QxUc-g@lVE;5+JtK6uw zZK-60I0pBQ@^@@11%b3*!1oL>POts9FMmmj{eU-WY`5s?aSl(?tc}jnpz#&hP<{%CHuZViZl4wwK@PI#~3v5A_W=9v zXT$paXN3(fuxOScNJzCJ$dimfnnb{JOUMN&D{itl$~Zi=XR9@u4Luu&Lb?=GYZATLW; zg_JfhP|_^S$YMxC;!LW0W{6uy7yXP=KKT|zEd(1O|8vN-hk2H({e_!PDDlkRZUGG9d78K49`yg|wf3{Ob2Lg9nq39Cp{yWJhQ)xW!RUn6|6c z;yh^Ven`TjVavO%EO)nQ?)O~c=WiGDU8lpA%&_+p&Oj6~F?w8NH0=*vEzx4V_D&s@ zuh9Vr>eOq~E-2xXuJ*#b0<@Y`>Zz0<`Bkg1`5GD6?Af=b915Td@?%eL;e5bc*83|w z_##7$-)h0wCVjZjab`}j;3*(WLgf9;GzaV2;{O#h#Tvq=F=?xoO3uJ6MV!KP1Lk)d8y zHtDlUGxAens{+snCG&3n$udc-wj3;2|9wZCN(@yr2nOAJF6q=E5A;#>EFx%`Uz4!BE- z4%cS%$io_KbZEV$BU<*-*7YaVV~-TSp%+GdCA#L+bbw18eo#yT#!qAFl&<``OLUMI zQYssxl0(VP@4bgP8lK}`%Q*=W7#D%NH zpSGm6fb&1S(0I$z^MhXRAQMs&_d%cE zNP+mo*V8?PUTg+gqqoN{7NlQ;DTkisQn395m{Da>R^DsrT3&0s%Yk^IFliIizQ#w` z*GP>swXdZTHpZR^lW_B?7X(RmR3~_A4>P%=ZS)D;4SuE3AieEL=ewudMOB{@kE7J_ zHtSXLBKd$8QPn^AViLX*$N5Od+l}RXJc*T2E+Ihkyl(HnOFq@_&OPM@ot_IZBHp2+?5`;)W!zT<{JN*-wyiXXGl1mODXw6p}Rac&*c`(U0A&Gyu0-M&qmHo?dk?LrGFJq38N2jZ(EoO z>B96gSnASkul0S!EDKA*!#2RWK6Suqi!&{owJPaW{DRlmyx;RCZEAAmL8@%xE~Zr* zs1d)q2KO@C-N0hFW;9~cCSAF33f9feDWB&5Sa|1O;0%Y>3n}pYOI)5J^78{;cMaiS zgtlmSuA2nyy?g#rZ7Yx+(U8=}suv{7`9=1p8auc(59zy{C33~)a?sp`hC`r=%V&M@ zb=glrWn0qGRmr3TW@v0R1JXA2S?6}DakXVpQN6OFObXheXjsF_*#VQ&&>lf$AU`ef z=39$8@9Y=3i5z|w#lC%cWl4+7>~4tDT)|P84WHhw`&<+Sz9AMQZxoUyYgVm4a-+V~ zmnZMG%e$Rua0pY+j>@xSP7vtOmV2Wi_J6Kdj|&>1vK;yCAFOP5{)@V@Hl$9`ChULE CNDzIRl2)V7#d~(=^DDb1!pt=Nr}QEnAf}8+LlBIn`D-dD0tnHiv)8RBQ+IgL-5D0A3q*;yx9YN$Tx4 z!N}5yG|rds_HNz`E|T38i^Q=k;qIo1k+BTk-uSD@AKlOE{tyV6#{XBuxYBuCOn<#) z#Owew?1W_|!A!@}0wKh58t=lw0C;c3{L8$2hN+MH{zGPl{7D4gifbCWC^%k;AH~WY zL&OlGsjUrr_E-HwXa7s>7Gu}evhl03e+aU}U-pW44x7L2^%O`78q5D33bPr<-K-!(mQ1Qi#=uVUfn9{p{R|Z%_lC0Jt=*|| zr9qvXQjQJ{{tn_su^|`SY;oAVT1q9W7cZ^#3vDOdvc7FoXyh2G?z`&0SZm3DR$Vx8 zeE(^~X5HEKh92`WV(T85t=sP4YhlrXxUQ|L;w6bK#RSC})vfYfHFMV4uE{2^@{kEb zhA$@YUF{AV0-NRW1|&5re{*dx5G*aJ))ZalzB>vO4!lR`Vtce5Auqop5mtwlvwT?55U} zy7<)mwfimsW;9+iM}#|1R8hTUI4D24Zt5p4ImV+3j-UMH|Vl_&DUMl z6Fq#T(@;0M>banX2BilTMXpn7d#S2$dnpv5LTZ`7%cK;JehWImTbZwBAIDy+E$aOW z1N~~#qds*BqABMZN7ejQ)S^|(`Q0~co*noN8eS6?=F7zPmB`nZss|r9QWjPZiDz|- z(Wvk|BD}m|L^h4I5IFSs(MU!*9@rIJ6vKMwxIvyql{f}6J*nN@{A-P0|C~06yRrEZ zFKXIGHXuMOS{%%6Bi(W2`oQW2K)CrgCdBlgEVCN$4w|pFrQwbnoNr}WjNQz1<=n?2 zi(U@k0UQoJ9zN196&FjSwONruoZYK#bmwcac3L*LsM{IhpylddPy#evz>#zz4>e~v zcc2dt{USNOF${C(FfPqfsq9>=q@>>YteHwUPgI9mtQRU1L@Odyui%V)?+ht&^pfF;khXCaZpXr20` z3Gt4YqDkOy=Dwn703*m<&$2Ck+UkLS_uePC?9+Tnz`j%Txso=3IXCdZ@vH9lL3?i8 zL3`It8=XJwF7cUpcje{N{g8W$Y4X4cVoa0-&BF7OYsE1bQ~z8D&kY9VV3x3;ycFI{ z?&}k`fS8q}^lE*edV_iBEPTNJgFWdxWo zJt+c)es%f6#gFe>#EMW9zosEpX1vQ+ym9v=D&&h+HNFYPZ(aOywTUxA&02i#hMVj) zd;%5j4!E*kG4XSgQ7ml5-;}U(*-t@_IlDB{ug>PmZ4DuCrbLf1Ky|aZ414qhyX8PU z0|ES?7xaK1XpIo_g!({qj!60Zf1}lD%O7?(u*2e{wS7?MK%dSdY;InGV)1l<*5Mxf z)^Y(T$+9KKg%z8cE=)$ele=RM-cAPNr*&(l8{G}!Xs@_jZ%1TiDC21e zT76G%$N6n==G5EzG2KBX30Q}49g3vFXA(~SCP&|S>do8wG66u9?Gk&zHxE!9L~jQ_ zQCuaYKmhMl4}H!DIi%Z9>L7+_FKkROg^aN>#Pc7LobFFY%QOJU?hy?YK|Pfkk>4eG zs-SmJt?iAv)P13Cp(-&^P6nK^((le7=Ti~(Lb=qtf)#{ACpHeUfgWOlVqqn%U$v{b_MQbf^b1&`~=$UT#+SfS|aZ z4>mTILc2H4m3aKZz*|4pY4IdyfPYeOc4?WrtKX5La4_y&aW# zh99T5L~-avtIReV8=R8R<5l6itJ@NXi=Eed7=NEFaI;Yjt}jbU0udEJ`Q;rm`{`mr7en^+GBw>qpcoi+8&vtr+ z^aRK@4^$M4RvC(YI9QrjO50EWIpliF$0%>8*ozIfI&!*Y&Y|dM(NR)Un+PD+@n5X_ z^|Mc#HRb5SN|%}6lMRNB`lp=bSCG@NBlLRAp-5H~RIS)B_66{%yVWNjvhz~KOxVJi zBs03ey1z8Z&dN@Pl2b!OUXy^F7SC0Z!|zHMZK-^wY50&u&+DFHS;Hdb*WDiKNx0wm z?B{eRna~JUYetfzhi5wCYc)sP7sF9G&&Kx~W3ow7*k+)aCj8{(zN1=|zlD|*gT1x3 zp-RukJST6COnV5D1;x4`BftjPm9zN;EM#E}SgL_eawZ&EhzL)P3`(Rae?Cx0X|K2OeLFHrDi!{bJX3{iJ5=ntlTM0` zfp%d}=Hi%XV!SiXn;_*lpSBLsm!KhVXua|wyUez@BqZ%mR9gfR|9p6Q?)n_R1@Muq%EIHZme#1R|eb^Wk-F~8+xQZrZ9`d1; z7QF<=;Aumkj)r%GcUf?X46s(=>=q;F(qmIer@h=-2-e5ZGl*Q6S2Xn9d0pLikfrOU zQy3m0En2r>`PF#x8oN}({dT4Vtd=R-qpuyxI3JKPO6k-yl&_kBo9(_H2NtS8+h7WO zkl21XW^DiuRb7{#hiYmRhljtG&)D#MHqy}6W`Uf*r=ZxPDG~?&70&2ZdA{C|9#}mm zXJp(6Ru7t%qEegqT*pUA)#+}qsxhDOo(fkbM2pv+`c)m`H?KgI?Q_gexBcX|fAG4SnIMGS@VLX&;rPP5y}G`F(vK>qdLR&l!7>}Qa5 zQ6D|z&^!eNza{Evd_->{7OB`p^ff5Eb={DV`R}cGDy`0PVO0F%ww{Fzwxx5Nabb3m zx6W!@-`}Z3nTf8-{O#U04=d+=g{UNJSyxzI2PikmJ$Ep=tUNl)Xxz_3P{7l}9Q(Kn zrh^k>+4+N4=)oW~=txkZKTO+(bs3@{eF#PU@5YcaLI7fTdwpuysHwQJJePTSO)|9;v0m$J0JUr>ns8~ShI0LWInw{8hUesZiN>0_PB$LgITmY z&!YZ2^7DNx<5>8scLJOcZ^i}l$7j#ksu@FxRNjQiZM%es;7+5yZyq=LC{z#{Zz)Sn zj{-$k-QRAJV8N_{-xL|Hf*rnt#)mX7yacAJ38>K)1^#ou9#f(49Zk8N5(a{dEEN@b z%rlp0s1k*+xdgBN#^U$ySnx-O{)Vcwg2tTe0fF8`0k{CMfC3n-pzkqtM^W$iSn4t+ zgZ?@ddl_I`=OKTSGdeWn!Uidk+7|OXOFJHDHajiQ=Z_$&@2DC+z_^}kHR=^-V&6k8 z&dseCcLJg!(_#7~F`;IC?TF-uaQ1mwcN%e@<&n_8yYdSiAvfRnWJd zoV)Q;n~71S$$>H#Pd2Hlsxq;%;$u^Ml#ln|X&wHPdX z&XN+=!H$S>FEw=jaIc_?muerjX$_R>70l3xckJN|L{(8%meQ6^1mrV88g?|Ab}QLf z`W3d^lmFyM7)M925AxLw4Ah%seff{F&R#BH8}N#oBl#3b@JS{(0A~F`5#MR*ZLJR&0Ic{bmyzQ z==$96&YvQ*3ekwJY1Z}NL)_%x#FEEq9!%fKe#KbNnZ4x{WgyLZFGbR9q33eet(%Qf zc?SNOL*{QpHnN>=T*vnEAC4_h5G%egPutwDZ#$;Um3d|Z=El&_&))thTN`F$!vPnY za2c~ibE{c(&-E2?nrd?&0lgKzxtyU}MIFG0V(4wILSS7^em-TMwc>X~e3taT7ptZd z*b3P}QWvH}o{cWARFShqk9b1kr@XlkfgilhVn%%r=mxX{zEx$ISH=2S8R& zA$pEhKe)YYXn=1ccuf3=U9ZVY~3YEkiHZ)89~HAz)Fdf$Y-5 zko!}1_gF4j%1T_$3iy_so9el0LxlL(Ciy>_Avc~<+R-+(%(MgTi%C%kxYPT5JeFB@ zUue_ROy&GzR+rO4`Y=|ZhLEx)1OjhM47h$P-{KJed47kWk-XGfbdq8-vsEkZTi*^w z4W&rb=zA})x>gv!ZRr}JShF0KEuEr1<9c~|6yJ|E{yAH$x6U-&*JGYk7j~R(1j*vu z=HZf7MU3#tv_iK%LKs)ot)S2A$csDY>9a^zE6?Bm^85NC61SB-gGvj-L`Y!;jEy)y$ts5Y)hxj;B;g5 zx5Mtj2zU|2B;Y(4c~(;i%gVm&Xqz#+YJw}p5zTlIl6JS(?Kz*LAXZ|P9WL~zJgMXP zCH?W8$14#%IIP>l1{%r8|L(uZw-&*ePhLbzb{szBi5G`dR?t?#Z(fjmondWo@bzw) zWTb@lP&-m<+|Ew(tTv$z+4`jq4N3ZNC1rAiMF+S1>U56-hO@wjOG47)VusUcg5p-O zPkvG7;E;TAM9!R@tC+O3kotcN8QG~5*r~6_@}j)*GCe)h#-v>=kly`)$%{fFs~(~$ z$+O?}v;ejTo1MPdb#{fd{lsQZ?}9_|^#4vVhX<)joJqgA4y#b;DdE+fwmHXbRg zAzzAaX3-=?_IhuxrKx8JAhQ!0!!MC_oq%;N(amQ0brYgMIJ0`s0=1l;_OszD7zB>m zsV+EAqUvsu5+EiXR~y|TzlSI8&;8R@BQ(f3XB(yju`pQYWR^rkE??~R+CtPbP~5PB z-8S<-Y2``V^1F@a>lQ7+Hg8`7x$3AK;R8OoaN5~>icDM)UW$nbx3=0Q1#|DQD?HQH z;{;meT?7JR^W{Ns>wfW|zOMSXn10J6OL$skIg4bvF#?BYsjb%-g2Ajx}js_`&2I7?e48U$X7>neti!7g(wv3P37j!Bfy(Y6BdflP$A^AunEPsgkQ}ACR$QNM;af7+2 zc2fetsw|A~*vh`#;z|-(b|E?nhWMSl^rAwRf28o!ov45FUn;W3#a^rIZlCCC}Wou4Q z&${C~g7*93ZqCotV)b&wJ*yL2K;$K>7&NVs$RWp)C<_UF<>3oO2J#2R>DmLk_oPQ6 zxS1a~pz~j@tnD9$IL#7ZaPe-kA`0fGPJKv(?+l-PZH&`q($Ne3$y+(WB?3NB*@Yd^ zoP}Cg-G-0=5oa>7ST0SC*m;`xCdauH9;c$ki#RdFNnoSjRO7vKsa8}T*{VDAH8NlZv+ z407;hvb_|Us(qpl9tN~`NxMmD_4(GQxRa9_GQ7sC$CXzak7P$nVjNQMbgeXLyyP+RW^cDhS|a`vO8fDkUIyZOFpk*b zaF(-G{F)2yy+$`@NBOPqmX57I2E3v?O7R!-s6Y17Lg{AHOn>S>YEWzr>gO5VCYiow zBRUcTz2{{;%Fp|QlI*<0r9RT*7fmQ&<4`FhIZz(n*W9>iwd@-%h39~OY{Sbd`dAV> mv6%SvGFj#SJfikDUXiBi4s=uEMOxnclcJoOY>l)@$o~K`dVkLV diff --git a/lib/globals.dart b/lib/globals.dart index 1b3913c..4f3d9c2 100644 --- a/lib/globals.dart +++ b/lib/globals.dart @@ -8,7 +8,7 @@ import 'package:logger/logger.dart'; import 'package:shared_preferences/shared_preferences.dart'; // Version of box data -const int dataVersion = 2; +const int dataVersion = 3; // Files paths Directory? appPath; diff --git a/lib/providers/home.dart b/lib/providers/home.dart index 0b52d94..2bbff48 100644 --- a/lib/providers/home.dart +++ b/lib/providers/home.dart @@ -26,6 +26,7 @@ class HomeProvider with ChangeNotifier { Widget appBarTitle = Text('Ğecko', style: TextStyle(color: Colors.grey[850])); Widget appBarExplorer = Text('Explorateur', style: TextStyle(color: Colors.grey[850])); + String homeMessage = "y'a pas de lézard ;-)"; Future initHive() async { late Directory hivePath; @@ -71,6 +72,15 @@ class HomeProvider with ChangeNotifier { return version + '+' + buildNumber; } + Future changeMessage(String newMessage, int seconds) async { + final oldMessage = homeMessage; + homeMessage = newMessage; + notifyListeners(); + await Future.delayed(Duration(seconds: seconds)); + homeMessage = oldMessage; + notifyListeners(); + } + Future getValidEndpoints() async { await configBox.delete('endpoint'); diff --git a/lib/providers/my_wallets.dart b/lib/providers/my_wallets.dart index 2ba8566..6c9600e 100644 --- a/lib/providers/my_wallets.dart +++ b/lib/providers/my_wallets.dart @@ -41,7 +41,7 @@ class MyWalletsProvider with ChangeNotifier { return listWallets; } - WalletData? getWalletData(List _id) { + WalletData? getWalletDataById(List _id) { if (_id.isEmpty) return WalletData(); int? _chest = _id[0]; int? _nbr = _id[1]; @@ -57,13 +57,26 @@ class MyWalletsProvider with ChangeNotifier { return _targetedWallet; } + WalletData? getWalletDataByAddress(String address) { + WalletData? _targetedWallet; + + walletBox.toMap().forEach((key, value) { + if (value.address == address) { + _targetedWallet = value; + return; + } + }); + + return _targetedWallet; + } + WalletData? getDefaultWallet([int? chest]) { if (chestBox.isEmpty) { return WalletData(chest: 0, number: 0); } else { chest ??= getCurrentChest(); int? defaultWalletNumber = chestBox.get(chest)!.defaultWallet; - return getWalletData([chest, defaultWalletNumber]); + return getWalletDataById([chest, defaultWalletNumber]); } } diff --git a/lib/providers/substrate_sdk.dart b/lib/providers/substrate_sdk.dart index 9ab49c1..e25ae05 100644 --- a/lib/providers/substrate_sdk.dart +++ b/lib/providers/substrate_sdk.dart @@ -5,6 +5,7 @@ import 'package:flutter/services.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/chest_data.dart'; import 'package:gecko/models/wallet_data.dart'; +import 'package:gecko/providers/home.dart'; import 'package:polkawallet_sdk/api/apiKeyring.dart'; import 'package:polkawallet_sdk/api/types/networkParams.dart'; import 'package:polkawallet_sdk/api/types/txInfoData.dart'; @@ -46,6 +47,7 @@ class SubstrateSdk with ChangeNotifier { Future connectNode(BuildContext ctx) async { List node = []; + HomeProvider _homeProvider = Provider.of(ctx, listen: false); for (String _endpoint in configBox.get('endpoint')) { final n = NetworkParams(); @@ -98,12 +100,14 @@ class SubstrateSdk with ChangeNotifier { notifyListeners(); }); notifyListeners(); - snackNode(ctx, true); + _homeProvider.changeMessage('Vous êtes bien connecté', 3); + // snackNode(ctx, true); } else { nodeConnected = false; debugConnection = res.toString(); notifyListeners(); - snackNode(ctx, false); + _homeProvider.changeMessage('Vous êtes pas connecté', 3); + // snackNode(ctx, false); } log.d(sdk.api.connectedNode?.endpoint); diff --git a/lib/providers/wallet_options.dart b/lib/providers/wallet_options.dart index 02aeef8..0f5d531 100644 --- a/lib/providers/wallet_options.dart +++ b/lib/providers/wallet_options.dart @@ -31,7 +31,7 @@ class WalletOptionsProvider with ChangeNotifier { {required bool isCesium}) async { MyWalletsProvider myWalletClass = MyWalletsProvider(); - WalletData _walletTarget = myWalletClass.getWalletData(_walletID)!; + WalletData _walletTarget = myWalletClass.getWalletDataById(_walletID)!; _walletTarget.name = _newName; await walletBox.put(_walletTarget.key, _walletTarget); @@ -214,6 +214,9 @@ class WalletOptionsProvider with ChangeNotifier { TextButton( child: const Text("Valider"), onPressed: () async { + final _wallet = + _myWalletProvider.getWalletDataByAddress(address.text); + await _sub.setCurrentWallet(_wallet!); _sub.confirmIdentity(_walletOptions.address.text, idtyName.text, _myWalletProvider.pinCode); Navigator.pop(context); diff --git a/lib/screens/home.dart b/lib/screens/home.dart index 55bc56a..afaa3b2 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -2,6 +2,7 @@ import 'package:bubble/bubble.dart'; import 'package:gecko/globals.dart'; import 'package:gecko/models/stateful_wrapper.dart'; import 'package:gecko/providers/chest_provider.dart'; +import 'package:gecko/providers/home.dart'; import 'package:gecko/providers/substrate_sdk.dart'; import 'package:gecko/providers/wallets_profiles.dart'; import 'package:flutter/material.dart'; @@ -23,7 +24,6 @@ class HomeScreen extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - // HomeProvider _homeProvider = Provider.of(context); MyWalletsProvider _myWalletProvider = Provider.of(context); Provider.of(context); @@ -103,6 +103,7 @@ class HomeScreen extends StatelessWidget { WidgetsBinding.instance.addPostFrameCallback((_) async { if (!_sub.sdkReady && !_sub.sdkLoading) await _sub.initApi(); if (_sub.sdkReady && !_sub.nodeConnected) { + // Check if versionData non compatible, drop everything if (walletBox.isNotEmpty && walletBox.getAt(0)!.version! < dataVersion) { await infoPopup(context, @@ -185,31 +186,32 @@ Widget geckHome(context) { ]), Padding( padding: EdgeInsets.only(top: 15 * ratio), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: const [ - Text( - "y'a pas de lézard ;-)", - textAlign: TextAlign.center, - style: TextStyle( - color: Colors.white, - fontSize: 24, - fontWeight: FontWeight.w700, - shadows: [ - Shadow( - offset: Offset(0, 0), - blurRadius: 20, - color: Colors.black, - ), - Shadow( - offset: Offset(0, 0), - blurRadius: 20, - color: Colors.black, - ), - ], - ), + child: + Row(mainAxisAlignment: MainAxisAlignment.center, children: [ + Consumer(builder: (context, _homeP, _) { + return Text( + _homeP.homeMessage, + textAlign: TextAlign.center, + style: const TextStyle( + color: Colors.white, + fontSize: 24, + fontWeight: FontWeight.w700, + shadows: [ + Shadow( + offset: Offset(0, 0), + blurRadius: 20, + color: Colors.black, + ), + Shadow( + offset: Offset(0, 0), + blurRadius: 20, + color: Colors.black, + ), + ], ), - ]), + ); + }), + ]), ), const SizedBox(height: 15), Expanded( diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart index a940968..fa8f0eb 100644 --- a/lib/screens/myWallets/wallet_options.dart +++ b/lib/screens/myWallets/wallet_options.dart @@ -126,7 +126,7 @@ class WalletOptions extends StatelessWidget { historyWidget( context, _historyProvider, walletProvider), SizedBox(height: 12 * ratio), - setDefaultWallet(context, walletProvider, + setDefaultWalletWidget(context, walletProvider, _myWalletProvider, _walletOptions, _currentChest), SizedBox(height: 17 * ratio), if (!walletProvider.isDefaultWallet) @@ -349,25 +349,20 @@ class WalletOptions extends StatelessWidget { ); } - Widget setDefaultWallet( + Widget setDefaultWalletWidget( BuildContext context, WalletOptionsProvider walletProvider, MyWalletsProvider _myWalletProvider, WalletOptionsProvider _walletOptions, int _currentChest) { WalletData defaultWallet = _myWalletProvider.getDefaultWallet()!; - SubstrateSdk _sub = Provider.of(context, listen: false); - _walletOptions.isDefaultWallet = (defaultWallet.number == wallet.id()[1]); return InkWell( key: const Key('setDefaultWallet'), onTap: !walletProvider.isDefaultWallet ? () async { - defaultWallet = wallet; - await _sub.setCurrentWallet(wallet); - _myWalletProvider.readAllWallets(_currentChest); - _myWalletProvider.rebuildWidget(); + await setDefaultWallet(context, _currentChest); } : null, child: SizedBox( @@ -397,6 +392,18 @@ class WalletOptions extends StatelessWidget { ); } + Future setDefaultWallet(BuildContext context, int _currentChest) async { + SubstrateSdk _sub = Provider.of(context, listen: false); + MyWalletsProvider _myWalletProvider = + Provider.of(context, listen: false); + + // WalletData defaultWallet = _myWalletProvider.getDefaultWallet()!; + // defaultWallet = wallet; + await _sub.setCurrentWallet(wallet); + _myWalletProvider.readAllWallets(_currentChest); + _myWalletProvider.rebuildWidget(); + } + Widget deleteWallet( BuildContext context, WalletOptionsProvider walletProvider, diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart index d58fbda..e5c780f 100644 --- a/lib/screens/settings.dart +++ b/lib/screens/settings.dart @@ -4,10 +4,7 @@ import 'package:flutter/services.dart'; import 'package:gecko/providers/my_wallets.dart'; import 'package:gecko/providers/substrate_sdk.dart'; import 'dart:io'; -// import 'package:gecko/screens/myWallets/import_cesium_wallet.dart'; import 'package:gecko/globals.dart'; -import 'package:gecko/screens/myWallets/restore_chest.dart'; -import 'package:gecko/screens/onBoarding/5.dart'; import 'package:provider/provider.dart'; // ignore: must_be_immutable @@ -51,80 +48,42 @@ class SettingsScreen extends StatelessWidget { children: [ const SizedBox(height: 60), Row(children: [ - Text(' Noeud $currencyName :'), - const SizedBox(width: 20), - SizedBox( - width: 200, - height: 50, - child: TextField( - controller: _endpointController, - autocorrect: false, - ), - ), - const Spacer(), Consumer(builder: (context, _sub, _) { - return _sub.isLoadingEndpoint - ? CircularProgressIndicator(color: orangeC) - : IconButton( - icon: Icon( - Icons.send, - color: orangeC, - size: 40, - ), - onPressed: () async { - configBox.put('endpoint', [_endpointController.text]); - await _sub.connectNode(context); - }); + return Expanded( + child: Row(children: [ + Text(' Noeud $currencyName :'), + const Spacer(), + Icon(_sub.nodeConnected ? Icons.check : Icons.close), + const Spacer(), + SizedBox( + width: 200, + height: 50, + child: TextField( + controller: _endpointController, + autocorrect: false, + ), + ), + const Spacer(flex: 5), + _sub.isLoadingEndpoint + ? CircularProgressIndicator(color: orangeC) + : IconButton( + icon: Icon( + Icons.send, + color: orangeC, + size: 40, + ), + onPressed: () async { + configBox + .put('endpoint', [_endpointController.text]); + await _sub.connectNode(context); + }), + const Spacer(flex: 8), + ]), + ); }), - const Spacer(), ]), - SizedBox(height: isTall ? 50 : 20), - SizedBox( - height: buttonHigh, - width: buttonWidth, - child: ElevatedButton( - key: const Key('generateKeychain'), - style: ElevatedButton.styleFrom( - elevation: 5, - primary: yellowC, // background - onPrimary: Colors.black, // foreground - ), - onPressed: () => Navigator.push( - context, - MaterialPageRoute(builder: (context) { - return const OnboardingStepFive(skipIntro: true); - }), - ), - child: const Text( - "Générer un coffre", - style: TextStyle(fontSize: fontSize), - ), - ), - ), - const SizedBox(height: 20), - SizedBox( - height: buttonHigh, - width: buttonWidth, - child: ElevatedButton( - key: const Key('generateKeychain'), - style: ElevatedButton.styleFrom( - elevation: 5, - primary: yellowC, // background - onPrimary: Colors.black, // foreground - ), - onPressed: () => Navigator.push( - context, - MaterialPageRoute(builder: (context) { - return const RestoreChest(skipIntro: true); - }), - ), - child: const Text( - "Restaurer un coffre", - style: TextStyle(fontSize: fontSize), - ), - ), - ), - const SizedBox(height: 25), + // SizedBox(height: isTall ? 80 : 120), + const Spacer(), SizedBox( height: buttonHigh, width: buttonWidth, @@ -138,14 +97,16 @@ class SettingsScreen extends StatelessWidget { child: const Text( 'Oublier tous mes coffres', style: TextStyle( - fontSize: fontSize + 3, + fontSize: fontSize + 4, color: Color(0xffD80000), - fontWeight: FontWeight.w500, + fontWeight: FontWeight.w600, ), ), ), ), ), + // const Spacer(), + SizedBox(height: isTall ? 90 : 60), ]), ); } diff --git a/pubspec.yaml b/pubspec.yaml index fac9f3e..d9c8502 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ description: Pay with G1. # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.7+3 +version: 0.0.7+4 environment: sdk: '>=2.12.0 <3.0.0'