enviar-info.service.ts 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import { Injectable } from '@angular/core';
  2. import { BehaviorSubject, Subject, Observable } from 'rxjs';
  3. import { environments } from '../../../../environments/environments';
  4. import { HttpClient, HttpHeaders } from '@angular/common/http';
  5. @Injectable({
  6. providedIn: 'root'
  7. })
  8. export class EnviarInfoService {
  9. private URL: string = environments.baseUrl;
  10. constructor(private _http: HttpClient) { }
  11. private getHeaders(): HttpHeaders {
  12. const token = localStorage.getItem('token') || '';
  13. return new HttpHeaders({
  14. 'Content-Type': 'application/json',
  15. 'Authorization': `Bearer ${token}`
  16. });
  17. }
  18. private mensajeBienvenida = new BehaviorSubject<string>('');
  19. private nombreColegio = new BehaviorSubject<string>('');
  20. private color = new BehaviorSubject<string>('');
  21. private textColor = new BehaviorSubject<string>('');
  22. private link = new BehaviorSubject<string>('');
  23. currentMensaje = this.mensajeBienvenida.asObservable();
  24. currentColor = this.color.asObservable();
  25. currentTextColor = this.textColor.asObservable();
  26. currentLink = this.link.asObservable();
  27. currentColegio = this.nombreColegio.asObservable();
  28. private tablaSource = new Subject<void>();
  29. tabla$ = this.tablaSource.asObservable();
  30. notifyCambioTabla() {
  31. this.tablaSource.next();
  32. }
  33. changeNombreColegio(name: string) {
  34. this.nombreColegio.next(name);
  35. }
  36. changeMessage(mensaje: string) {
  37. this.mensajeBienvenida.next(mensaje);
  38. }
  39. changeColor(color: string) {
  40. this.color.next(color);
  41. }
  42. changeTextColor(textColor: string) {
  43. this.textColor.next(textColor);
  44. }
  45. changeColorLinks(links: string) {
  46. this.link.next(links);
  47. }
  48. getNombreColegio(): Observable<any> {
  49. return this._http.get(`${this.URL}/personalizacion/nombre-colegio`, {
  50. headers: this.getHeaders()
  51. });
  52. }
  53. getEsloganColegio(): Observable<any> {
  54. return this._http.get(`${this.URL}/personalizacion/eslogan-colegio`, {
  55. headers: this.getHeaders()
  56. });
  57. }
  58. }