<u>Paquete:</u>
$ npm install @fortawesome/free-solid-svg-icons
# See Compatibility table below to choose a correct version
$ npm install @fortawesome/angular-fontawesome@<version>
Tenemos que importar FontAwesomeModule
en cada modulo en el que vayamos a usar los iconos
Deberemos registrar cada icono que vayamos a usar antes de usarlo, por ello vamos a crear un servicio donde agruparemos todos los iconos que vayamos a usar:
import { Injectable } from '@angular/core';
import { FaIconLibrary } from '@fortawesome/angular-fontawesome';
import { faCoffee, faUser, faPhone } from '@fortawesome/free-solid-svg-icons';
const icons = [faCoffee, faUser, faPhone]; // Aqui registraremos todos los iconos
@Injectable({
providedIn: 'root'
})
export class FontAwesomeIconsService {
constructor(library: FaIconLibrary) {
library.addIcons(...icons);
}
}
import { Component } from '@angular/core';
import { FontAwesomeIconsService } from './path/to/fontawesome-icons.service'; // <-- Import your service
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
})
export class AppComponent {
constructor(private fontAwesomeIconsService: FontAwesomeIconsService) { // <-- Inject service to force instantiation
}
}
Podríamos ahorrarnos el paso del servicio y hacerlo en app.component para que sea más directo, pero he preferido hacerlo así por separación de responsabilidades.
<div class="voice-container">
<h1>Buzón de voz</h1>
<p>Llamando...</p>
<fa-icon [icon]="['fas', 'coffee']"></fa-icon> <!-- Lo usamos aquí -->
</div>
I am particularly drawn to developing applications that are not only functional but also visually appealing and easy to use. I accomplish this by implementing SOLID principles and clean architecture, and applying testing to ensure quality.