[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:
abhip2565
2025-11-11 02:13:31 +05:30
committed by GitHub
parent a7e9d99076
commit 7c8e6ffd52
3 changed files with 28 additions and 26 deletions

View File

@@ -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>
)}

View File

@@ -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>
);

View File

@@ -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}`;
}