@dankupfer/create-dn-starter
Version:
Interactive CLI for creating modular React Native apps with Expo
267 lines (257 loc) • 6.86 kB
text/typescript
// template/src/modules/core/combined-auth/data/mockData.ts
import {
AccountTileData,
CreditTileData,
ServiceTileData,
ServiceGridData,
PromotionalTileData
} from '@dankupfer/dn-components';
import { BottomTabsData } from '../../../../components/BottomTabs/types';
// Account Tiles Data
export const accountTiles: AccountTileData[] = [
{
id: 'club-lloyds',
title: 'Club Lloyds',
subtitle: '30-95-74 / 46557160',
accountNumber: '46557160',
balance: 35.18,
variant: 'condensed',
balanceLabel: 'Overdraft limit: £50.00',
additionalInfo: 'Remaining overdraft: £14.82',
// promoMessage: {
// text: 'Send money outside the UK',
// showArrow: true,
// onPress: () => console.log('Send money outside UK promo pressed')
// },
actions: [
{ label: 'Pay & transfer', onPress: () => console.log('Pay & transfer') },
{ label: 'Regular payments', onPress: () => console.log('Regular payments') }
],
showMenu: true,
onPress: () => console.log('Club Lloyds pressed')
},
{
id: 'classic',
title: 'Classic',
subtitle: '30-95-74 / 47713368',
accountNumber: '47713368',
balance: 0.22,
variant: 'condensed',
actions: [
{ label: 'Pay & transfer', onPress: () => console.log('Pay & transfer') },
{ label: 'Regular payments', onPress: () => console.log('Regular payments') }
],
showMenu: true,
onPress: () => console.log('Classic pressed')
}
];
// Condensed Account Tiles Data (for summary page)
export const condensedAccountTiles: AccountTileData[] = [
{
id: 'birthdays',
title: 'Birthdays',
subtitle: '30-95-74 / 54713760',
accountNumber: '54713760',
balance: 0.21,
variant: 'condensed',
// promoMessage: {
// text: 'Send money outside the UK',
// showArrow: true,
// onPress: () => console.log('Send money outside UK promo pressed')
// },
onPress: () => console.log('Birthdays account pressed')
},
{
id: 'home-insurance',
title: 'Home Insurance Policy',
subtitle: 'HBP602935347',
accountNumber: 'HBP602935347',
balance: 0,
variant: 'condensed',
onPress: () => console.log('Home Insurance pressed')
}
];
// Credit Tiles Data
export const creditTiles: CreditTileData[] = [
{
id: 'cashback-card',
title: 'Lloyds Bank Cashback Credit Card',
subtitle: '**** **** **** 9053',
cardNumber: '9053',
balance: 2507.92,
balanceLabel: 'Balance after pending',
availableCredit: 5242.08,
details: [
{ label: 'Statement balance:', value: '£2,044.38' },
{ label: 'Minimum payment:', value: '£59.51' },
{ label: 'Due date:', value: '12 June 2025' }
],
primaryAction: {
label: 'Pay',
onPress: () => console.log('Pay credit card')
},
showMenu: true,
onPress: () => console.log('Credit card pressed')
}
];
// Service Tiles Data
export const serviceTiles: ServiceTileData[] = [
{
id: 'everyday-offers',
title: 'Everyday Offers',
subtitle: '',
description: 'Activate your offers to earn cashback',
icon: {
color: 'blue',
name: 'home'
},
badge: {
text: '62 NEW OFFERS',
color: '#ff00ff'
},
showArrow: false,
onPress: () => console.log('Everyday Offers pressed')
},
{
id: 'manage-cards',
title: 'Manage Cards',
subtitle: '',
description: 'View PIN, freeze card and more',
icon: {
color: 'green',
name: 'home'
},
showArrow: true,
onPress: () => console.log('Manage Cards pressed')
}
];
// Service Grid Data
export const serviceGrid: ServiceGridData = {
id: 'main-services',
items: [
{
id: 'add-accounts',
title: 'Add accounts',
description: 'View your accounts with other banks',
icon: {
color: 'purple',
name: 'home'
},
onPress: () => console.log('Add accounts pressed')
},
{
id: 'credit-score',
title: 'Your credit score',
description: 'Check your credit score and track your progress',
icon: {
color: 'pink',
name: 'chart'
},
onPress: () => console.log('Credit score pressed')
},
{
id: 'travel',
title: 'Travel',
description: 'Take advantage of all the travel services we offer',
icon: {
color: 'red',
name: 'plane'
},
onPress: () => console.log('Travel pressed')
},
{
id: 'rewards',
title: 'More money in your pocket',
description: 'Get rewards, cashback, benefits and more',
icon: {
color: 'blue',
name: 'home'
},
onPress: () => console.log('Rewards pressed')
}
]
};
// Promotional Tiles Data
export const promotionalTiles: PromotionalTileData[] = [
{
id: 'spring-clean',
title: "Let's spring clean your spending",
subtitle: '',
description: 'Help your budget bloom with upcoming spending insights',
image: {
color: 'green',
name: 'home'
},
action: {
label: 'Learn more',
onPress: () => console.log('Spring clean pressed')
},
onPress: () => console.log('Spring clean card pressed')
},
{
id: 'investing',
title: 'Is time on your side?',
subtitle: '',
description: 'Investing sooner gives you more time to ride out market changes. Capital at risk.',
image: {
color: 'green',
name: 'clock'
},
action: {
label: 'See my options',
onPress: () => console.log('Investing options pressed')
},
onPress: () => console.log('Investing card pressed')
}
];
// Legacy exports for backward compatibility (will be removed later)
export const accountCards = accountTiles;
export const creditCards = creditTiles;
export const serviceCards = serviceTiles;
export const promotionalCards = promotionalTiles;
// Bottom Navigation Data
export const bottomTabsData: BottomTabsData = {
items: [
{
id: 'home',
label: 'Home',
icon: 'house',
isActive: true,
onPress: () => console.log('Home tab pressed')
},
{
id: 'apply',
label: 'Apply',
icon: 'form',
isActive: false,
onPress: () => console.log('Apply tab pressed')
},
{
id: 'payments',
label: 'Payments',
icon: 'arrow',
isActive: false,
onPress: () => console.log('Payments tab pressed')
},
{
id: 'search',
label: 'Search',
icon: 'search',
isActive: false,
onPress: () => console.log('Search tab pressed')
},
{
id: 'cards',
label: 'Cards',
icon: 'cards',
isActive: false,
onPress: () => console.log('Cards tab pressed')
}
]
};
// User data for the header
export const userData = {
name: 'Daniel',
greeting: 'Hi',
notificationCount: 99
};