From d71c34c569eb75a93126c487eec57523d5c568ae Mon Sep 17 00:00:00 2001 From: adityankannan-tw <109274996+adityankannan-tw@users.noreply.github.com> Date: Thu, 21 Sep 2023 17:38:15 +0530 Subject: [PATCH] (INJI-350): Sync VC UI with wireframes (#845) * fix(INJI-350): Sync VC UI with wireframes * fix(INJI-350): fix minor styling changes * fix(INJI-350): fix merge conflicts and missed changes * fix(INJI-350): refactor the icon sizes and id numbers * fix(INJI-350): refactor the text sizes and labels * fix(INJI-350): add extrasmall size type to text component * fix(INJI-350): add extraSmall size type to text component --- assets/pin_icon.png | Bin 0 -> 3657 bytes components/KebabPopUp.tsx | 1 + components/VcDetails.tsx | 11 +- components/VcItem.tsx | 32 +++--- components/VcItemActivationStatus.tsx | 23 ++--- components/VcItemContent.tsx | 139 +++++++++++++++----------- components/ui/Text.tsx | 2 +- components/ui/themes/DefaultTheme.ts | 85 +++++++++++++--- components/ui/themes/PurpleTheme.ts | 83 ++++++++++++--- locales/ara.json | 6 +- locales/en.json | 6 +- locales/fil.json | 4 +- locales/hin.json | 6 +- locales/kan.json | 6 +- locales/tam.json | 4 +- machines/vcItem.ts | 2 +- screens/Home/MyVcsTab.tsx | 2 +- 17 files changed, 275 insertions(+), 137 deletions(-) create mode 100644 assets/pin_icon.png diff --git a/assets/pin_icon.png b/assets/pin_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..03249fef65e31f2683619b649555c4d9605b1327 GIT binary patch literal 3657 zcmV-P4z}@$P)r3?@TwJ1=a6I!5JB1vaJ@*>GylDq5g zzpwo7pWVCNz1_Xn-mt@Ev-{uw{yzKt{eJ)7?*8Kd`xEyTaKwEN?GAzsDFH458BqxLn2MoWtR0wyN)@D+$32!jqYfO9d|9v+Bew zIL?Q7j6Jw)Ltyo09?vvLUaxmpW@ct3cK!)7Pasa(-stoBsp z)49fs4##twfk5Epw6wG;>|@Z#ei{kM(cIkZ$?pbvAkGS1#604#HWdtNqL4UIWh44O$iW+N#qN0H$ z?TZ;4QBW$oI3+di#mw&!>X*7yr5BR4U#cbvYJDV?Oo+Q^2Bim*v`=em>#*G1+<&R< zaH?+C*4FmTyu3U*J=X*(8b~D7{sX4kkEg2f)t)!1X%nXAbEzc4R7fIJM^jVNAPkD1 zsqJX0Z->K^y9x>l=xk3lC@o5o01<C&ab;^N{at)TQk zBGrY_SY054SNo&E0$7C@i&co@f_i8Lg;i4|NbK*)&yKFHuE#SnGB#-FpS>wspu4;K zDVNK&Nd{6_x2FXX2Z$_KmaoKvt+Fkz%>sCFFTvY4BzYjp5f`x$MK$S#v>YKV(bh$C zwhsE*z>%42PU8l*ijY*(lMlbxMSCk}=}l1f4(aWDgt|Gx<6 z@G40;yo(D>vx$<(xTrTa(MsdjLq;~_On(>B?igW+VU27=1`=H!irU?o4k^%h0lYPp zyegy^)EjdgqOyb-L=+^(BRV#b^^Ux+K;9F(z>$?_q>ZC)E8!s#3vll4)LRg2`yc1( zxELhGBqlcXS&vHMw&#-!XVGxTn@gUjkDpIcKw{0=xqAVZK!}wEz{&y}gT%2CpG?p$ zG61f7ehk?Ui+8MJ4=X7lkt##St`~TPh)IH=ATF68S)ZR$82-$~EGn7kH>nCTM@^1B zA?!g?LL!#+9$5?Bb^AF5Ng1D%)$z&-O)~gWk+`0G&z-d$GVY4~t5Hb{i4;{kHcx>- zCk|@q0WFDHV)hqdJ-OeM|IB`HdhX;D6= zY!WICQkEyV#NMn>j9F=S6k}Rm48Ak(OXDh6@p#BCUj=CegDs(z)R2e;+qcca8s5J{ zk^?d>l41~3I_d?<#4LZm)pB>Qs}kAvJP>%rm9H>!(a+erx} z5exV}*nm}u4N_%+yU(Op9j9x3y|KxO>Ty4~2;3#lSOP~pNXkGWC)~E79D=P4A-B-^ zaSvC7vB8vbkU9@6hpr2|L&r_* zom{L)a0(+y0@m+x9{qJ}=mP8$B zO^6w&l!9~{69<3u=gfGicU(knpJ!LR3f>PlLdVfxN#iJT6R=>>-|=RkH7PfHHKY`z zme;=1dskL?zJZHFc>Vxp!Lgw$JE5bwlh zPg=_rQRz>hxgJ{9mthqhr}`0MR(APHa6e$}7>P@E`aXz~SkE|UxwPBfo(O@K>rx#r zt7INzl|HA~L|5HGXxlbN8ds597oHc6Syuf{$-!**#l6t}mnGcW6z+#sLi*tQA~J5> zIvZ~u9*`ceOh>mzs^3}cYu z<|M8aE~&%&N@PZC^FB5tjkfK+S_{p;e@M#qvhJM*dDH%=u@!Bb+mN)`i`%-hc0IK1 z{+SS;g5a5d2wX!)>u5>cE;b}}cIvZL>yD?udwL5u&~*(hg@Wgf=xizSZZ@RIHd5T8 z>9=LjedRbee#)D^5#0AZ7Da2yyCS63_ehX&EXB zZ-iN(B%G>p4$h?iJB@aT`^^a`@A*BDGhvx2eZ_ggpT#Lr-?0QzLqo&p0RsjcH04Z^ zxY5SO#_@=GF6I1|dBaCWZw6d+UF9Wj{`7jAAL z@q2A;?a-2vl5aY z0;?RPkk~|^?cBNZ&WehP?KUWUk_iFr*|TTb{FtE;Q$p)FViu}Op6)2m{93OO5Hvl$ESPs;KH_b0i; z8#it&C@d^o8YgzMtQ$9P-dtH!R7Bpdp#elv5)G!0ibRztorL1N;8cvFLD8ym)YQ}r z88c?gi&&bUVVRX;bReAnZ|kvR$6hZlFaMMRM305oI7I)>5J`EY>bR#^J|-{rmUtoHc6}KM%INg5=yBfh5AA)uUNS ztkT#FkB(2WfCNxdJDBO@Pn|k-WdHvChhW_L68@dLOnjs&oXa)bxOy7IKjwv#f%$zH zZ@##7>(-|`cI>!_8Ep$?XxiXPu1;LfRvW}F$pVVx?!rNm14b*1{yhsJ?xCmv$r_YZ z5er1A3=~mCS|QPHk5x`MKx}MdZIB4il&*4iFe(R&jZJLo9kr5_)WpW7aPCeCQX;@% zFDN+$DY-hi@sOriBpzIiq2$~Z>(1EtB>v1M9dui2j;+G;Sh|Uvdt!^DO0h?2TqHtP zJQ1~qk~6LnD5dps?p5vaEhV9FFs&+5ic>5U#e_kNlGtroU}|8|faJi$Gb}kH(y=I< zyNgs+hzLkc;-D1dBY|R*jAV#QYL%n}jZF|#0n!6WNfB}>x0<-5w+~jkzes>+FmjM| z1JY|CrQlDig@&f&F5}t7DP06|ZjJ`Prq@d2Ak`|;3yIxNDXCyHyKu41YGvp>9t(*D zL?;D?0Ez~Z(!Ol$2{({UWF^s%mDCk3;m~xE7-6Vz*_xJdkr92-bn+@Tj^vh<#!YO~ zk=hB{6{8HJ)J`fwG89m>?oN(=IOs-Q5Gn*<*(Tu>5|w)BGcdz&sRGIpKxQb(> = props => { name={props.iconName} type={props.iconType} color={Theme.Colors.GrayIcon} + size={Theme.ICON_SMALL_SIZE} /> = props => { - + @@ -188,7 +191,11 @@ export const VcDetails: React.FC = props => { color={Theme.Colors.DetailsLabel}> {t('status')} - + {props.vc?.isVerified && } = props => { const {appService} = useContext(GlobalContext); @@ -50,6 +51,7 @@ export const VcItem: React.FC = props => { const storeErrorTranslationPath = 'errors.savingFailed'; const generatedOn = useSelector(service, selectGeneratedOn); + const formattedDate = format(new Date(generatedOn), 'MM/dd/yyyy'); const tag = useSelector(service, selectTag); return ( @@ -65,7 +67,7 @@ export const VcItem: React.FC = props => { = props => { iconType={props.iconType} onPress={() => props.onPress(service)} /> + {props.isSharingVc ? null : ( - + {props.activeTab !== 'receivedVcsTab' && props.activeTab != 'sharingVcScreen' && ( = props => { showOnlyBindedVc={props.showOnlyBindedVc} /> )} - - - + + + + + + )} diff --git a/components/VcItemActivationStatus.tsx b/components/VcItemActivationStatus.tsx index e9000873..ac1abf37 100644 --- a/components/VcItemActivationStatus.tsx +++ b/components/VcItemActivationStatus.tsx @@ -13,9 +13,9 @@ const WalletUnverifiedIcon: React.FC = () => { ); }; @@ -25,8 +25,8 @@ const WalletVerifiedIcon: React.FC = () => { ); }; @@ -49,9 +49,8 @@ const WalletUnverifiedActivationDetails: React.FC< = props => { - const {t} = useTranslation('VcDetails'); + const {t} = useTranslation('WalletBinding'); return ( @@ -99,7 +98,7 @@ export const VcItemActivationStatus: React.FC< VcItemActivationStatusProps > = props => { return ( - + {props.emptyWalletBindingId ? ( { if (arg1 === 'Status') { return ( - + { }> {arg1} - + + {!verifiableCredential ? null : } {!verifiableCredential ? '' : arg2} - {!verifiableCredential ? null : } ); @@ -53,7 +63,7 @@ const getDetails = (arg1, arg2, verifiableCredential) => { : Theme.Colors.DetailsLabel } size="smaller" - weight={'bold'} + weight="regular" style={Theme.Styles.vcItemLabelHeader}> {arg1} @@ -74,6 +84,10 @@ const getDetails = (arg1, arg2, verifiableCredential) => { } }; +function getIdNumber(id: string) { + return '*'.repeat(id.length - 4) + id.slice(-4); +} + export const VcItemContent: React.FC = props => { //Assigning the UIN and VID from the VC details to display the idtype label const uin = props.verifiableCredential?.credentialSubject.UIN; @@ -96,7 +110,6 @@ export const VcItemContent: React.FC = props => { = props => { }> - + = props => { } style={Theme.Styles.closeCardImage}> {props.iconName && ( - + )} - + + = props => { {fullName} - + = props => { ? Theme.Colors.LoadingDetailsLabel : Theme.Colors.DetailsLabel } - weight="semibold" + weight="regular" size="smaller" align="left"> {t('idType')} @@ -165,11 +173,10 @@ export const VcItemContent: React.FC = props => { testID="nationalCard" weight="semibold" color={Theme.Colors.Details} - size="smaller" style={ !props.verifiableCredential ? Theme.Styles.loadingTitle - : Theme.Styles.subtitle + : Theme.Styles.detailsValue }> {t('nationalCard')} @@ -184,7 +191,7 @@ export const VcItemContent: React.FC = props => { @@ -193,7 +200,7 @@ export const VcItemContent: React.FC = props => { {t('uin')} @@ -201,9 +208,9 @@ export const VcItemContent: React.FC = props => { - {uin} + size="extraSmall" + color={Theme.Colors.statusLabel}> + {getIdNumber(uin)} ) : null} @@ -212,7 +219,7 @@ export const VcItemContent: React.FC = props => { {t('vid')} @@ -220,57 +227,67 @@ export const VcItemContent: React.FC = props => { - {vid} + {getIdNumber(vid)} ) : null} {!props.verifiableCredential ? getDetails(t('id'), uin || vid, props.verifiableCredential) : null} - - - - {t('generatedOn')} - - - {props.generatedOn} - - - + + + + + + {t('generatedOn')} + + + {props.generatedOn} + + + {props.verifiableCredential ? getDetails(t('status'), isvalid, props.verifiableCredential) : null} + style={{ + display: props.verifiableCredential ? 'flex' : 'none', + justifyContent: 'center', + alignItems: 'center', + }}> + ); diff --git a/components/ui/Text.tsx b/components/ui/Text.tsx index faaed1f1..0d75222b 100644 --- a/components/ui/Text.tsx +++ b/components/ui/Text.tsx @@ -33,7 +33,7 @@ interface TextProps { weight?: 'regular' | 'semibold' | 'bold'; align?: TextStyle['textAlign']; margin?: Spacing; - size?: 'small' | 'smaller' | 'regular' | 'large'; + size?: 'small' | 'extraSmall' | 'smaller' | 'regular' | 'large'; lineHeight?: number; numLines?: number; style?: StyleProp; diff --git a/components/ui/themes/DefaultTheme.ts b/components/ui/themes/DefaultTheme.ts index b598121c..e16fa051 100644 --- a/components/ui/themes/DefaultTheme.ts +++ b/components/ui/themes/DefaultTheme.ts @@ -8,12 +8,14 @@ const Colors = { Grey: '#C7C7C7', Grey5: '#E0E0E0', Grey6: '#F2F2F2', + Gray30: '#444444', Gray40: '#666666', Gray44: '#707070', + Gray50: '#999999', Gray9: '#171717', DimGray: '#737373', Orange: '#F2811D', - LightGrey: '#F5F5F5', + LightGrey: '#F7F7F7', ShadeOfGrey: '#6F6F6F', White: '#FFFFFF', Red: '#D52929', @@ -40,7 +42,7 @@ export const DefaultTheme = { TabItemText: Colors.Orange, Details: Colors.Black, DetailsLabel: Colors.Gray40, - LoadingDetailsLabel: Colors.Orange, + LoadingDetailsLabel: Colors.Gray40, AddIdBtnBg: Colors.Orange, AddIdBtnTxt: Colors.Orange, DownloadIdBtnTxt: Colors.White, @@ -50,7 +52,7 @@ export const DefaultTheme = { IconBg: Colors.Orange, popUp: Colors.Green, Icon: Colors.Orange, - GrayIcon: Colors.Grey, + GrayIcon: Colors.Gray50, helpText: Colors.Gray44, borderBottomColor: Colors.Grey6, whiteBackgroundColor: Colors.White, @@ -113,16 +115,32 @@ export const DefaultTheme = { }, subtitle: { backgroundColor: Colors.Transparent, + fontSize: 12, }, loadingSubtitle: { backgroundColor: Colors.Grey, borderRadius: 4, }, - statusLabel: { + detailsValue: { color: Colors.Black, + fontSize: 12, + }, + statusLabel: { + color: Colors.Gray30, + fontSize: 12, + }, + activationTab: { + justifyContent: 'space-evenly', + alignItems: 'center', + marginRight: 20, + marginStart: 10, + }, + kebabIcon: { + justifyContent: 'center', + alignItems: 'center', + flex: 1, }, verifiedIconContainer: { - marginTop: 3, marginRight: 3, }, verifiedIconInner: { @@ -130,7 +148,7 @@ export const DefaultTheme = { borderRadius: 10, }, vcItemLabelHeader: { - color: Colors.Orange, + color: Colors.Gray40, }, closeDetails: { flex: 1, @@ -192,21 +210,34 @@ export const DefaultTheme = { alignSelf: 'flex-end', marginLeft: 300, }, + horizontalLine: { + height: 1, + backgroundColor: Colors.Grey, + }, + verticalLine: { + width: 1, + height: 30, + backgroundColor: Colors.Grey, + marginVertical: 8, + marginLeft: -45, + marginRight: 22, + }, closeCardBgContainer: { borderRadius: 10, margin: 8, backgroundColor: '#fff', shadowColor: '#000', - shadowOffset: {width: -1, height: 1}, - shadowOpacity: 0.4, - shadowRadius: 3, - elevation: 4, + shadowOffset: {width: -1, height: 2}, + shadowOpacity: 0.3, + shadowRadius: 4, + elevation: 7, }, selectedBindedVc: { borderRadius: 15, margin: 5, borderWidth: 3, borderColor: Colors.Green, + overflow: 'hidden', }, selectedVc: { borderRadius: 10, @@ -267,6 +298,7 @@ export const DefaultTheme = { backgroundImageContainer: { flex: 1, padding: 10, + overflow: 'hidden', }, successTag: { backgroundColor: Colors.Green, @@ -288,6 +320,11 @@ export const DefaultTheme = { justifyContent: 'space-between', }, logo: { + height: 40, + width: 40, + marginRight: 4, + }, + vcDetailsLogo: { height: 35, width: 90, }, @@ -365,10 +402,21 @@ export const DefaultTheme = { borderColor: Colors.White, backgroundColor: Colors.LightOrange, }, + pinIcon: { + height: 39, + width: 39, + marginLeft: -13, + marginTop: -9, + }, + faceImage: { + borderRadius: 10, + height: 96, + width: 88, + }, closeCardImage: { - width: 105, - height: 135, - borderRadius: 5, + width: 80, + height: 82, + borderRadius: 100, }, openCardImage: { width: 100, @@ -521,7 +569,6 @@ export const DefaultTheme = { fontSize: 18, lineHeight: 19, paddingTop: 4, - marginLeft: -30, }, retrieveIdLabel: { color: Colors.ShadeOfGrey, @@ -564,6 +611,9 @@ export const DefaultTheme = { fontSize: 13, lineHeight: 21, }, + extraSmall: { + fontSize: 12, + }, smaller: { fontSize: 11, lineHeight: 18, @@ -989,9 +1039,14 @@ export const DefaultTheme = { backgroundColor: Colors.Transparent, }, }), + + ICON_SMALL_SIZE: 16, + ICON_MID_SIZE: 22, + PinIcon: require('../../../assets/pin_icon.png'), + CloseCard: require('../../../assets/card_bg.png'), + CardBackground: require('../../../assets/card_bg.png'), OpenCard: require('../../../assets/card_bg.png'), activationPending: require('../../../assets/pending_activation.png'), - CloseCard: '', ProfileIcon: require('../../../assets/placeholder-photo.png'), MosipSplashLogo: require('../../../assets/icon.png'), MosipLogo: require('../../../assets/mosip-logo.png'), diff --git a/components/ui/themes/PurpleTheme.ts b/components/ui/themes/PurpleTheme.ts index ce3327dd..1e84e567 100644 --- a/components/ui/themes/PurpleTheme.ts +++ b/components/ui/themes/PurpleTheme.ts @@ -9,7 +9,9 @@ const Colors = { Grey5: '#E0E0E0', Grey6: '#F2F2F2', Gray40: '#666666', + Gray30: '#444444', Gray44: '#707070', + Gray50: '#999999', Gray9: '#171717', DimGray: '#737373', Orange: '#F2811D', @@ -41,8 +43,7 @@ export const PurpleTheme = { Colors: { TabItemText: Colors.Purple, Details: Colors.Black, - DetailsLabel: Colors.Gray40, - LoadingDetailsLabel: Colors.Purple, + LoadingDetailsLabel: Colors.Gray40, AddIdBtnBg: Colors.Purple, AddIdBtnTxt: Colors.Purple, DownloadIdBtnTxt: Colors.White, @@ -52,7 +53,7 @@ export const PurpleTheme = { IconBg: Colors.Purple, popUp: Colors.Green, Icon: Colors.Purple, - GrayIcon: Colors.Grey, + GrayIcon: Colors.Gray50, helpText: Colors.Gray44, borderBottomColor: Colors.Grey6, whiteBackgroundColor: Colors.White, @@ -115,16 +116,32 @@ export const PurpleTheme = { }, subtitle: { backgroundColor: Colors.Transparent, + fontSize: 12, }, loadingSubtitle: { backgroundColor: Colors.Grey, borderRadius: 4, }, - statusLabel: { + detailsValue: { color: Colors.Black, + fontSize: 12, + }, + statusLabel: { + color: Colors.Gray30, + fontSize: 12, + }, + activationTab: { + justifyContent: 'space-evenly', + alignItems: 'center', + marginRight: 20, + marginStart: 10, + }, + kebabIcon: { + justifyContent: 'center', + alignItems: 'center', + flex: 1, }, verifiedIconContainer: { - marginTop: 3, marginRight: 3, }, verifiedIconInner: { @@ -132,7 +149,7 @@ export const PurpleTheme = { borderRadius: 10, }, vcItemLabelHeader: { - color: Colors.Purple, + color: Colors.Gray40, }, closeDetails: { flex: 1, @@ -194,21 +211,34 @@ export const PurpleTheme = { alignSelf: 'flex-end', marginLeft: 300, }, + horizontalLine: { + height: 1, + backgroundColor: Colors.Grey, + }, + verticalLine: { + width: 1, + height: 30, + backgroundColor: Colors.Grey, + marginVertical: 8, + marginLeft: -45, + marginRight: 22, + }, closeCardBgContainer: { borderRadius: 10, margin: 8, backgroundColor: '#fff', shadowColor: '#000', - shadowOffset: {width: -1, height: 1}, - shadowOpacity: 0.4, - shadowRadius: 3, - elevation: 4, + shadowOffset: {width: -1, height: 2}, + shadowOpacity: 0.3, + shadowRadius: 4, + elevation: 7, }, selectedBindedVc: { borderRadius: 15, margin: 5, borderWidth: 3, borderColor: Colors.Green, + overflow: 'hidden', }, selectedVc: { borderRadius: 10, @@ -269,6 +299,7 @@ export const PurpleTheme = { backgroundImageContainer: { flex: 1, padding: 10, + overflow: 'hidden', }, successTag: { backgroundColor: Colors.Green, @@ -290,6 +321,11 @@ export const PurpleTheme = { justifyContent: 'space-between', }, logo: { + height: 40, + width: 40, + marginRight: 4, + }, + vcDetailsLogo: { height: 35, width: 90, }, @@ -367,10 +403,21 @@ export const PurpleTheme = { borderColor: Colors.White, backgroundColor: Colors.LightPurple, }, + pinIcon: { + height: 39, + width: 39, + marginLeft: -13, + marginTop: -9, + }, + faceImage: { + borderRadius: 10, + height: 96, + width: 88, + }, closeCardImage: { - width: 105, - height: 135, - borderRadius: 5, + width: 80, + height: 82, + borderRadius: 100, }, openCardImage: { width: 100, @@ -523,7 +570,6 @@ export const PurpleTheme = { fontSize: 18, lineHeight: 19, paddingTop: 4, - marginLeft: -30, }, retrieveIdLabel: { color: Colors.ShadeOfGrey, @@ -566,6 +612,9 @@ export const PurpleTheme = { fontSize: 13, lineHeight: 21, }, + extraSmall: { + fontSize: 12, + }, smaller: { fontSize: 11, lineHeight: 18, @@ -991,9 +1040,13 @@ export const PurpleTheme = { backgroundColor: Colors.Transparent, }, }), + ICON_SMALL_SIZE: 16, + ICON_MID_SIZE: 22, + PinIcon: require('../../../assets/pin_icon.png'), + CloseCard: require('../../../assets/card_bg.png'), + CardBackground: require('../../../assets/card_bg.png'), OpenCard: require('../../../assets/card_bg.png'), activationPending: require('../../../assets/pending_activation.png'), - CloseCard: '', ProfileIcon: require('../../../purpleAssets/profile_icon.png'), MosipSplashLogo: require('../../../assets/icon.png'), MosipLogo: require('../../../assets/mosip-logo.png'), diff --git a/locales/ara.json b/locales/ara.json index de499ffb..79c58d89 100644 --- a/locales/ara.json +++ b/locales/ara.json @@ -61,7 +61,7 @@ "uin": "UIN", "vid": "VID", "enableVerification": "تفعيل", - "profileAuthenticated": "تم التنشيط لتسجيل الدخول عبر الإنترنت!", + "profileAuthenticated": "يتم تمكين بيانات الاعتماد للمصادقة عبر الإنترنت.", "offlineAuthDisabledHeader": "التنشيط معلق لتسجيل الدخول عبر الإنترنت!", "offlineAuthDisabledMessage": "الرجاء النقر فوق الزر أدناه لتنشيط بيانات الاعتماد هذه لاستخدامها في تسجيل الدخول عبر الإنترنت.", "verificationEnabledSuccess": "تم التنشيط لتسجيل الدخول عبر الإنترنت", @@ -87,7 +87,7 @@ "title": "المزيد من الخيارات", "unPinCard": "قم بفك البطاقة", "pinCard": "البطاقة الشخصية", - "offlineAuthenticationDisabled!": "التنشيط معلق لتسجيل الدخول عبر الإنترنت!", + "offlineAuthenticationDisabled!": "التنشيط معلق لتسجيل الدخول عبر الإنترنت", "offlineAuthDisabledMessage": "انقر هنا لتمكين استخدام بيانات الاعتماد هذه للمصادقة عبر الإنترنت.", "viewActivityLog": "عرض سجل النشاط", "removeFromWallet": "إزالة من المحفظة", @@ -96,7 +96,7 @@ }, "WalletBinding": { "inProgress": "في تَقَدم", - "profileAuthenticated": "تم التنشيط لتسجيل الدخول عبر الإنترنت!" + "profileAuthenticated": "تم التنشيط لتسجيل الدخول عبر الإنترنت" }, "BindingVcWarningOverlay": { "alert": "يرجى تأكيد", diff --git a/locales/en.json b/locales/en.json index b3b49924..5201fa9f 100644 --- a/locales/en.json +++ b/locales/en.json @@ -55,7 +55,7 @@ "address": "Address", "reasonForSharing": "Reason for sharing", "idType": "ID Type", - "id": "Id", + "id": "ID", "qrCodeHeader": "QR Code", "nationalCard": "National Card", "uin": "UIN", @@ -87,7 +87,7 @@ "title": "More Options", "unPinCard": "Unpin Card", "pinCard": "Pin Card", - "offlineAuthenticationDisabled!": "Activation pending for online login!", + "offlineAuthenticationDisabled!": "Activation pending for online login", "offlineAuthDisabledMessage": "Click here to enable this credentials to be used for online authentication.", "viewActivityLog": "View Activity Log", "removeFromWallet": "Remove from Wallet", @@ -96,7 +96,7 @@ }, "WalletBinding": { "inProgress": "In progress", - "profileAuthenticated": "Activated for online login!" + "profileAuthenticated": "Activated for online login" }, "BindingVcWarningOverlay": { "alert": "Alert", diff --git a/locales/fil.json b/locales/fil.json index c0ec6e93..1b2ef35e 100644 --- a/locales/fil.json +++ b/locales/fil.json @@ -61,7 +61,7 @@ "uin": "UIN", "vid": "VID", "enableVerification": "I-activate", - "profileAuthenticated": "Na-activate para sa online na pag-login!", + "profileAuthenticated": "Ang mga kredensyal ay pinagana para sa online na pagpapatotoo.", "offlineAuthDisabledHeader": "Nakabinbin ang pag-activate para sa online na pag-login!", "offlineAuthDisabledMessage": "Mangyaring i-click ang pindutan sa ibaba upang i-activate ang kredensyal na ito upang magamit para sa online na pag-login.", "verificationEnabledSuccess": "Na-activate para sa online na pag-login", @@ -87,7 +87,7 @@ "title": "Higit pang mga Opsyon", "unPinCard": "I-unpin ang Card", "pinCard": "Pin Card", - "offlineAuthenticationDisabled!": "Nakabinbin ang pag-activate para sa online na pag-login!", + "offlineAuthenticationDisabled!": "Nakabinbin ang pag-activate para sa online na pag-login", "offlineAuthDisabledMessage": "Mag-click dito upang paganahin ang mga kredensyal na ito na magamit para sa online na pagpapatotoo.", "viewActivityLog": "Tingnan ang log ng aktibidad", "removeFromWallet": "Alisin sa wallet", diff --git a/locales/hin.json b/locales/hin.json index 867b027d..d773a674 100644 --- a/locales/hin.json +++ b/locales/hin.json @@ -61,7 +61,7 @@ "uin": "UIN", "vid": "VID", "enableVerification": "सक्रिय", - "profileAuthenticated": "ऑनलाइन लॉगिन के लिए सक्रिय!", + "profileAuthenticated": "ऑनलाइन प्रमाणीकरण के लिए क्रेडेंशियल सक्षम हैं।", "offlineAuthDisabledHeader": "ऑनलाइन लॉगिन के लिए सक्रियण लंबित है!", "offlineAuthDisabledMessage": "ऑनलाइन लॉगिन के लिए उपयोग किए जाने वाले इस क्रेडेंशियल को सक्रिय करने के लिए कृपया नीचे दिए गए बटन पर क्लिक करें।", "verificationEnabledSuccess": "ऑनलाइन लॉगिन के लिए सक्रिय", @@ -84,7 +84,7 @@ "title": "अधिक विकल्प", "unPinCard": "अनपिन कार्ड", "pinCard": "पिन कार्ड", - "offlineAuthenticationDisabled!": "ऑनलाइन लॉगिन के लिए सक्रियण लंबित है!", + "offlineAuthenticationDisabled!": "ऑनलाइन लॉगिन के लिए सक्रियण लंबित है", "offlineAuthDisabledMessage": "ऑनलाइन प्रमाणीकरण के लिए इस क्रेडेंशियल का उपयोग सक्षम करने के लिए यहां क्लिक करें।", "viewActivityLog": "गतिविधि लॉग देखें", "removeFromWallet": "वॉलेट से हटाए", @@ -93,7 +93,7 @@ }, "WalletBinding": { "inProgress": "चालू", - "profileAuthenticated": "ऑनलाइन लॉगिन के लिए सक्रिय!" + "profileAuthenticated": "ऑनलाइन लॉगिन के लिए सक्रिय" }, "BindingVcWarningOverlay": { "alert": "कृपया पुष्टि करें", diff --git a/locales/kan.json b/locales/kan.json index 1fc733a6..9904e594 100644 --- a/locales/kan.json +++ b/locales/kan.json @@ -61,7 +61,7 @@ "uin": "UIN", "vid": "VID", "enableVerification": "ಸಕ್ರಿಯಗೊಳಿಸಿ", - "profileAuthenticated": "ಆನ್‌ಲೈನ್ ಲಾಗಿನ್‌ಗಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ!", + "profileAuthenticated": "ಆನ್‌ಲೈನ್ ದೃಢೀಕರಣಕ್ಕಾಗಿ ರುಜುವಾತುಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ.", "offlineAuthDisabledHeader": "ಆನ್‌ಲೈನ್ ಲಾಗಿನ್‌ಗಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ ಬಾಕಿ ಉಳಿದಿದೆ!", "offlineAuthDisabledMessage": "ಆನ್‌ಲೈನ್ ಲಾಗಿನ್‌ಗಾಗಿ ಬಳಸಲು ಈ ರುಜುವಾತುಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ದಯವಿಟ್ಟು ಕೆಳಗಿನ ಬಟನ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ.", "verificationEnabledSuccess": "ಆನ್‌ಲೈನ್ ಲಾಗಿನ್‌ಗಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ", @@ -83,7 +83,7 @@ "title": "ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳು", "unPinCard": "ಅನ್‌ಪಿನ್ ಕಾರ್ಡ್", "pinCard": "ಪಿನ್ ಕಾರ್ಡ್", - "offlineAuthenticationDisabled!": "ಆನ್‌ಲೈನ್ ಲಾಗಿನ್‌ಗಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ ಬಾಕಿ ಉಳಿದಿದೆ!", + "offlineAuthenticationDisabled!": "ಆನ್‌ಲೈನ್ ಲಾಗಿನ್‌ಗಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ ಬಾಕಿ ಉಳಿದಿದೆ", "offlineAuthDisabledMessage": "ಆನ್‌ಲೈನ್ ದೃಢೀಕರಣಕ್ಕಾಗಿ ಬಳಸಲು ಈ ರುಜುವಾತುಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಇಲ್ಲಿ ಕ್ಲಿಕ್ ಮಾಡಿ.", "viewActivityLog": "ಚಟುವಟಿಕೆ ಲಾಗ್ ಅನ್ನು ವೀಕ್ಷಿಸಿ", "removeFromWallet": "ಕೈಚೀಲದಿಂದ ತೆಗೆದುಹಾಕಿ", @@ -92,7 +92,7 @@ }, "WalletBinding": { "inProgress": "ಪ್ರಗತಿಯಲ್ಲಿದೆ", - "profileAuthenticated": "ಆನ್‌ಲೈನ್ ಲಾಗಿನ್‌ಗಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ!" + "profileAuthenticated": "ಆನ್‌ಲೈನ್ ಲಾಗಿನ್‌ಗಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ" }, "BindingVcWarningOverlay": { "alert": "ದಯವಿಟ್ಟು ದ್ರುಡೀಕರಿಸಿ", diff --git a/locales/tam.json b/locales/tam.json index 6d45c8a6..245bb19b 100644 --- a/locales/tam.json +++ b/locales/tam.json @@ -61,7 +61,7 @@ "uin": "UIN", "vid": "VID", "enableVerification": "செயல்படுத்த", - "profileAuthenticated": "ஆன்லைன் உள்நுழைவுக்காக செயல்படுத்தப்பட்டது", + "profileAuthenticated": "ஆன்லைன் அங்கீகாரத்திற்காக நற்சான்றிதழ்கள் இயக்கப்பட்டுள்ளன.", "offlineAuthDisabledHeader": "ஆன்லைன் உள்நுழைவுக்கான செயல்படுத்தல் நிலுவையில் உள்ளது", "offlineAuthDisabledMessage": "இந்த நற்சான்றிதழை ஆன்லைன் உள்நுழைவுக்குப் பயன்படுத்த, கீழே உள்ள பொத்தானைக் கிளிக் செய்யவும்.", "verificationEnabledSuccess": "ஆன்லைன் உள்நுழைவுக்காக செயல்படுத்தப்பட்டது", @@ -92,7 +92,7 @@ }, "WalletBinding": { "inProgress": "செயல்பாட்டில் உள்ளது", - "profileAuthenticated": "சுயவிவரம் அங்கீகரிக்கப்பட்டது!" + "profileAuthenticated": "சுயவிவரம் அங்கீகரிக்கப்பட்டது" }, "BindingVcWarningOverlay": { "alert": "தயவுசெய்து உறுதிப்படுத்தவும்", diff --git a/machines/vcItem.ts b/machines/vcItem.ts index dbf9bb91..df470386 100644 --- a/machines/vcItem.ts +++ b/machines/vcItem.ts @@ -1361,7 +1361,7 @@ export function selectVc(state: State) { } export function selectGeneratedOn(state: State) { - return new Date(state.context.generatedOn).toLocaleDateString(); + return new Date(state.context.generatedOn); } export function selectId(state: State) { diff --git a/screens/Home/MyVcsTab.tsx b/screens/Home/MyVcsTab.tsx index ae471e15..7ab71986 100644 --- a/screens/Home/MyVcsTab.tsx +++ b/screens/Home/MyVcsTab.tsx @@ -71,7 +71,7 @@ export const MyVcsTab: React.FC = props => { {controller.isRequestSuccessful && } - + {vcMetadataOrderedByPinStatus.length > 0 && (