mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-07 20:53:54 -05:00
[INJIMOB-3625] fix date format to consistent format across app (#2127)
Signed-off-by: Abhishek Paul <paul.apaul.abhishek.ap@gmail.com>
This commit is contained in:
@@ -1,20 +1,21 @@
|
||||
import React from 'react';
|
||||
import {View} from 'react-native';
|
||||
import { View } from 'react-native';
|
||||
import testIDProps from '../shared/commonUtil';
|
||||
import {Display} from './VC/common/VCUtils';
|
||||
import { Display } from './VC/common/VCUtils';
|
||||
import VerifiedIcon from './VerifiedIcon';
|
||||
import PendingIcon from './PendingIcon';
|
||||
import {Row, Text} from './ui';
|
||||
import {Theme} from './ui/styleUtils';
|
||||
import {useTranslation} from 'react-i18next';
|
||||
import {VCMetadata} from '../shared/VCMetadata';
|
||||
import { Row, Text } from './ui';
|
||||
import { Theme } from './ui/styleUtils';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { VCMetadata } from '../shared/VCMetadata';
|
||||
import { formattedDate } from '../shared/openId4VCI/Utils';
|
||||
|
||||
export const VCVerification: React.FC<VCVerificationProps> = ({
|
||||
vcMetadata,
|
||||
display,
|
||||
showLastChecked = true,
|
||||
}) => {
|
||||
const {t} = useTranslation('VcDetails');
|
||||
const { t } = useTranslation('VcDetails');
|
||||
|
||||
let statusText: string;
|
||||
let statusIcon: JSX.Element;
|
||||
@@ -44,7 +45,7 @@ export const VCVerification: React.FC<VCVerificationProps> = ({
|
||||
paddingVertical: 6,
|
||||
}}>
|
||||
{/* First Row: Status Icon + Text */}
|
||||
<View style={{flexDirection: 'row', alignItems: 'center'}}>
|
||||
<View style={{ flexDirection: 'row', alignItems: 'center' }}>
|
||||
{statusIcon}
|
||||
<Text
|
||||
testID="verificationStatus"
|
||||
@@ -55,13 +56,13 @@ export const VCVerification: React.FC<VCVerificationProps> = ({
|
||||
</View>
|
||||
|
||||
{showLastChecked && vcMetadata.lastKnownStatusTimestamp && (
|
||||
<View style={{marginTop: 4}}>
|
||||
<View style={{ marginTop: 4 }}>
|
||||
<Text
|
||||
testID="lastCheckedLabel"
|
||||
color={display.getTextColor(Theme.Colors.Details)}
|
||||
style={[
|
||||
Theme.Styles.verificationStatus,
|
||||
{fontFamily: 'Montserrat_400Regular'},
|
||||
{ fontFamily: 'Montserrat_400Regular' },
|
||||
]}>
|
||||
{t('lastChecked')}
|
||||
</Text>
|
||||
@@ -72,7 +73,7 @@ export const VCVerification: React.FC<VCVerificationProps> = ({
|
||||
Theme.Styles.verificationStatus,
|
||||
{fontFamily: 'Montserrat_400Regular'},
|
||||
]}>
|
||||
{new Date(vcMetadata.lastKnownStatusTimestamp).toLocaleString()}
|
||||
{formattedDate(vcMetadata.lastKnownStatusTimestamp)}
|
||||
</Text>
|
||||
</View>
|
||||
)}
|
||||
|
||||
@@ -1,22 +1,9 @@
|
||||
import React from 'react';
|
||||
import {View} from 'react-native';
|
||||
import {Text} from '../ui/Text';
|
||||
import { formattedDate } from '../../shared/openId4VCI/Utils';
|
||||
|
||||
export const Timestamp: React.FC<TimestampProps> = props => {
|
||||
function formattedDate(): React.ReactNode {
|
||||
const date = new Date(props.time);
|
||||
const day = date.getDate();
|
||||
const month = date.toLocaleString('default', {month: 'long'});
|
||||
const year = date.getFullYear();
|
||||
const formattedHours = (date.getHours() % 12 || 12)
|
||||
.toString()
|
||||
.padStart(2, '0');
|
||||
const formattedMinutes = date.getMinutes().toString().padStart(2, '0');
|
||||
const period = date.getHours() >= 12 ? 'PM' : 'AM';
|
||||
|
||||
return `${day} ${month} ${year}, ${formattedHours}:${formattedMinutes} ${period}`;
|
||||
}
|
||||
|
||||
return (
|
||||
<View>
|
||||
<Text
|
||||
@@ -29,7 +16,7 @@ export const Timestamp: React.FC<TimestampProps> = props => {
|
||||
letterSpacing: 0,
|
||||
lineHeight: 17,
|
||||
}}>
|
||||
{formattedDate()}
|
||||
{formattedDate(props.time)}
|
||||
</Text>
|
||||
</View>
|
||||
);
|
||||
|
||||
@@ -488,3 +488,17 @@ function resolveEd25519Alg(proofSigningAlgosSupported: string[]) {
|
||||
? KEY_TYPE_TO_JWT_ALG[KeyTypes.ED25519]
|
||||
: ED25519_PROOF_SIGNING_ALGO;
|
||||
}
|
||||
|
||||
export function formattedDate(time: number|string): React.ReactNode {
|
||||
const date = new Date(time);
|
||||
const day = date.getDate();
|
||||
const month = date.toLocaleString('default', {month: 'long'});
|
||||
const year = date.getFullYear();
|
||||
const formattedHours = (date.getHours() % 12 || 12)
|
||||
.toString()
|
||||
.padStart(2, '0');
|
||||
const formattedMinutes = date.getMinutes().toString().padStart(2, '0');
|
||||
const period = date.getHours() >= 12 ? 'PM' : 'AM';
|
||||
|
||||
return `${day} ${month} ${year}, ${formattedHours}:${formattedMinutes} ${period}`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user