# All files / app/testimonials testimonials.component.ts

100% Statements 10/10
100% Branches 0/0
100% Functions 3/3
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    971x
    1x

    1x
    1x

    12x

    24x

    12x

    12x

     import { Component, signal } from '@angular/core';
    import { MatIcon } from '@angular/material/icon';

    export interface Testimonial {
      id: number;
      name: string;
      location: string;
      role: string;
      rating: number;
      feedback: string;
      image: string;
    }

    @Component({
      selector: 'app-m-testimonials',
      standalone: true,
      templateUrl: './testimonials.component.html',
      styleUrls: ['./testimonials.component.css'],
      imports: [MatIcon],
    })
    export class TestimonialsComponent {
      readonly testimonials = signal<Testimonial[]>([
        {
          id: 1,
          name: 'Rajesh Kumar',
          location: 'Pune, Maharashtra',
          role: 'Small Business Owner',
          rating: 5,
          feedback: 'PNB RuPay Credit Card has revolutionized my payment process. The UPI integration is seamless and I earn reward points on every transaction. Highly recommended!',
          image: 'assets/images/avatar1.svg'
        },
        {
          id: 2,
          name: 'Priya Sharma',
          location: 'Ahmedabad, Gujarat',
          role: 'Freelance Designer',
          rating: 5,
          feedback: 'I love using my PNB RuPay Card for UPI payments. It\'s accepted everywhere and the cashback offers are amazing. The best part is instant virtual card activation.',
          image: 'assets/images/avatar2.svg'
        },
        {
          id: 3,
          name: 'Amit Patel',
          location: 'Hyderabad, Telangana',
          role: 'Marketing Manager',
          rating: 4,
          feedback: 'As someone who travels frequently, the PNB RuPay Card on UPI has been a game-changer. No more carrying cash, and the reward points add up quickly. Excellent service!',
          image: 'assets/images/avatar3.svg'
        },
        {
          id: 4,
          name: 'Sneha Reddy',
          location: 'Bangalore, Karnataka',
          role: 'IT Professional',
          rating: 5,
          feedback: 'The UPI integration with PNB RuPay Card is incredibly smooth. I use it daily for all my payments - from groceries to bills. The reward points system is generous and the app experience is flawless.',
          image: 'assets/images/avatar4.svg'
        },
        {
          id: 5,
          name: 'Vikram Singh',
          location: 'Delhi, NCR',
          role: 'Restaurant Owner',
          rating: 4,
          feedback: 'Being able to accept UPI payments through my PNB RuPay Card has increased my business revenue. Customers love the convenience and I love the instant settlement process.',
          image: 'assets/images/avatar5.svg'
        },
        {
          id: 6,
          name: 'Anjali Nair',
          location: 'Mumbai, Maharashtra',
          role: 'Teacher',
          rating: 5,
          feedback: 'As a teacher, I appreciate the security features of PNB RuPay Card. The UPI functionality makes it easy to pay school fees online, and the reward points are a nice bonus for my expenses.',
          image: 'assets/images/avatar6.svg'
        }
      ]);

      getInitials(name: string): string {
        return name
          .split(' ')
          .filter(Boolean)
          .slice(0, 2)
          .map(part => part.charAt(0).toUpperCase())
          .join('');
      }

      getAvatarBackground(id: number): string {
        const palettes = [
          'linear-gradient(135deg, #a33360 0%, #f7b924 100%)',
          'linear-gradient(135deg, #6b3a9a 0%, #a33360 100%)',
          'linear-gradient(135deg, #2c66dc 0%, #5f8ef2 100%)',
        ];

        return palettes[(id - 1) % palettes.length];
      }
    }