// template/src/modules/core/combined-auth/data/mockData.ts

import { 
  AccountTileData, 
  CreditTileData, 
  ServiceTileData, 
  ServiceGridData, 
  PromotionalTileData
} from '../../../../components/Tile/types';
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: 'detailed',
    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: 'detailed',
    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: 'green',
      name: 'offers'
    },
    badge: {
      text: '80 NEW',
      color: 'green'
    },
    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: 'card'
    },
    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: 'wallet'
      },
      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: 'coins'
      },
      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: 'cleaning'
    },
    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: 'Good afternoon',
  notificationCount: 99
};