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];
  }
}