mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-09 13:38:01 -05:00
* [injimob-3604]: changes according to new style guide Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com> * [injimob-3604]: changes according to new style guide Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com> # Conflicts: # components/KebabPopUp.tsx # components/VC/common/VCItemField.tsx # components/ui/svg.tsx # components/ui/themes/DefaultTheme.ts # locales/ara.json # locales/en.json # locales/fil.json # locales/hin.json # locales/kan.json # locales/tam.json * [injimob-3604]: changes according to review comments Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com> * [injimob-3604]: changes according to review comments Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com> * [injimob-3604]: changes according to review comments Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com> * [injimob-3604]: changes according to review comments Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com> * [injimob-3604]: removed the debug.keystore file Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com> --------- Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com> Signed-off-by: jaswanthkumartw <jaswanthkumar.p@thoughtworks.com>
162 lines
5.8 KiB
TypeScript
162 lines
5.8 KiB
TypeScript
import React from 'react';
|
|
import {View} from 'react-native';
|
|
import {
|
|
BannerNotification,
|
|
BannerStatus,
|
|
BannerStatusType,
|
|
} from './BannerNotification';
|
|
import {BackupAndRestoreBannerNotification} from './BackupAndRestoreBannerNotification';
|
|
import {UseBannerNotification} from './BannerNotificationController';
|
|
import {useTranslation} from 'react-i18next';
|
|
import {useScanScreen} from '../screens/Scan/ScanScreenController';
|
|
import {Theme} from './ui/styleUtils';
|
|
import {useSettingsScreen} from '../screens/Settings/SettingScreenController';
|
|
|
|
export const BannerNotificationContainer: React.FC<
|
|
BannerNotificationContainerProps
|
|
> = props => {
|
|
const { showVerificationStatusBanner = true } = props;
|
|
const scanScreenController = useScanScreen();
|
|
const settingsScreenController = useSettingsScreen(props);
|
|
const showQuickShareSuccessBanner =
|
|
scanScreenController.showQuickShareSuccessBanner;
|
|
|
|
const bannerNotificationController = UseBannerNotification();
|
|
const WalletBindingSuccess = bannerNotificationController.isBindingSuccess;
|
|
const reverificationSuccessObject = bannerNotificationController.isReverificationSuccess;
|
|
const reverificationFailureObject = bannerNotificationController.isReverificationFailed;
|
|
const { t } = useTranslation('BannerNotification');
|
|
const rt = useTranslation('RequestScreen').t;
|
|
const verificationStatus = bannerNotificationController.verificationStatus || null;
|
|
|
|
return (
|
|
<View style={[{position: 'absolute', zIndex: 100}]}>
|
|
<BackupAndRestoreBannerNotification />
|
|
|
|
{settingsScreenController.isKeyOrderSet === true && (
|
|
<View style={Theme.BannerStyles.topBanner}>
|
|
<BannerNotification
|
|
type={BannerStatusType.SUCCESS}
|
|
message={t('keyPreferenceSuccess')}
|
|
onClosePress={settingsScreenController.RESET_KEY_ORDER_RESPONSE}
|
|
key={'keyOrderingSuccess'}
|
|
testId={'keyOrderingSuccess'}
|
|
/>
|
|
</View>
|
|
)}
|
|
|
|
{settingsScreenController.isKeyOrderSet === false && (
|
|
<View style={Theme.BannerStyles.topBanner}>
|
|
<BannerNotification
|
|
type={BannerStatusType.ERROR}
|
|
message={t('keyPreferenceError')}
|
|
onClosePress={settingsScreenController.RESET_KEY_ORDER_RESPONSE}
|
|
key={'keyOrderingError'}
|
|
testId={'keyOrderingError'}
|
|
/>
|
|
</View>
|
|
)}
|
|
|
|
{WalletBindingSuccess && (
|
|
<View style={Theme.BannerStyles.topBanner}>
|
|
<BannerNotification
|
|
type={BannerStatusType.SUCCESS}
|
|
message={t('activated')}
|
|
onClosePress={
|
|
bannerNotificationController.RESET_WALLET_BINDING_SUCCESS
|
|
}
|
|
key={'activatedVcPopup'}
|
|
testId={'activatedVcPopup'}
|
|
/>
|
|
</View>
|
|
)}
|
|
|
|
{reverificationSuccessObject.status && (
|
|
<View style={Theme.BannerStyles.topBanner}>
|
|
<BannerNotification
|
|
type={BannerStatusType.SUCCESS}
|
|
message={t(`reverifiedSuccessfully.${reverificationSuccessObject.statusValue}`, { vcType: reverificationSuccessObject.vcType })}
|
|
onClosePress={
|
|
bannerNotificationController.RESET_REVIRIFICATION_SUCCESS
|
|
}
|
|
key={'reverifiedSuccessfullyPopup'}
|
|
testId={'reverifiedSuccessfullyPopup'}
|
|
/>
|
|
</View>
|
|
)}
|
|
|
|
{showQuickShareSuccessBanner && (
|
|
<View style={Theme.BannerStyles.topBanner}>
|
|
<BannerNotification
|
|
type={BannerStatusType.SUCCESS}
|
|
message={rt('status.accepted.message')}
|
|
onClosePress={scanScreenController.DISMISS_QUICK_SHARE_BANNER}
|
|
key={'quickShareSuccessBanner'}
|
|
testId={'quickShareSuccessBanner'}
|
|
/>
|
|
</View>
|
|
)}
|
|
|
|
{bannerNotificationController.isPasscodeUnlock && (
|
|
<BannerNotification
|
|
type={BannerStatusType.SUCCESS}
|
|
message={t('alternatePasscodeSuccess')}
|
|
onClosePress={bannerNotificationController.DISMISS}
|
|
testId={'alternatePasscodeSuccess'}
|
|
key={'updatePassword'}
|
|
/>
|
|
)}
|
|
|
|
{bannerNotificationController.isBiometricUnlock && (
|
|
<BannerNotification
|
|
type={BannerStatusType.SUCCESS}
|
|
message={t('alternateBiometricSuccess')}
|
|
onClosePress={bannerNotificationController.DISMISS}
|
|
testId={'alternateBiometricSuccess'}
|
|
key={'updateBiometric'}
|
|
/>
|
|
)}
|
|
|
|
{bannerNotificationController.isDownloadingFailed && (
|
|
<BannerNotification
|
|
type={BannerStatusType.ERROR}
|
|
message={t('MyVcsTab:downloadingVcFailed')}
|
|
onClosePress={bannerNotificationController.RESET_DOWNLOADING_FAILED}
|
|
key={'downloadingVcFailedPopup'}
|
|
testId={'downloadingVcFailedPopup'}
|
|
/>
|
|
)}
|
|
|
|
{reverificationFailureObject.status && (
|
|
<BannerNotification
|
|
type={BannerStatusType.ERROR}
|
|
message={t(`reverificationFailed.${reverificationFailureObject.statusValue}`, { vcType: reverificationFailureObject.vcType })}
|
|
onClosePress={bannerNotificationController.RESET_REVERIFICATION_FAILURE}
|
|
key={'reverificationFailedPopup'}
|
|
testId={'reverificationFailedPopup'}
|
|
/>
|
|
)}
|
|
{bannerNotificationController.isDownloadingSuccess && (
|
|
<BannerNotification
|
|
type={BannerStatusType.SUCCESS}
|
|
message={t('MyVcsTab:downloadingVcSuccess')}
|
|
onClosePress={bannerNotificationController.RESET_DOWNLOADING_SUCCESS}
|
|
key={'downloadingVcSuccessPopup'}
|
|
testId={'downloadingVcSuccessPopup'}
|
|
/>
|
|
)}
|
|
</View>
|
|
);
|
|
};
|
|
|
|
export type vcVerificationBannerDetails = {
|
|
statusType: BannerStatus;
|
|
isRevoked: boolean;
|
|
isExpired: boolean;
|
|
vcType: string;
|
|
};
|
|
|
|
export interface BannerNotificationContainerProps {
|
|
showVerificationStatusBanner?: boolean;
|
|
}
|