Skip to content

Commit

Permalink
#25738 Adding small refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
manuelrojas committed Jan 22, 2024
1 parent a7ebc08 commit e88aa08
Show file tree
Hide file tree
Showing 7 changed files with 1,442 additions and 1,405 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { HttpClient } from '@angular/common/http';
import { Injectable, Signal, computed, inject } from '@angular/core';
import { toSignal } from '@angular/core/rxjs-interop';

import { catchError, pluck } from 'rxjs/operators';
import { catchError, pluck, tap } from 'rxjs/operators';

export type Announcement = {
title: string;
Expand All @@ -25,6 +25,14 @@ export class AnnouncementsService {

private announcementsData$ = this.http.get<Announcement[]>(this.announcementsUrl).pipe(
pluck('entity'),
tap((announcements: Announcement[]) => {
announcements.map((announcement) => {
announcement.url = `${announcement.url}?utm_source=dotcms&utm_medium=application&utm_campaign=announcement_menu`;
});

return announcements;
}),

catchError(() => [])
);

Expand All @@ -48,8 +56,10 @@ export class AnnouncementsService {
(id) => !storedAnnouncementIds.includes(id)
);

localStorage.setItem('announcementsData', JSON.stringify(newAnnouncements));

return isNewAnnouncement;
});

saveAnnouncementsData: Signal<void> = computed(() => {
localStorage.setItem('announcementsData', JSON.stringify(this.announcements()));
});
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { NgClass, NgForOf, CommonModule } from '@angular/common';
import { Component, OnInit, Signal, inject, signal } from '@angular/core';
import { Component, Signal, inject } from '@angular/core';
import { RouterLink } from '@angular/router';

import {
Expand All @@ -17,16 +17,12 @@ import { DotMessagePipe } from '@dotcms/ui';
imports: [NgForOf, NgClass, DotMessagePipe, RouterLink, CommonModule],
providers: [AnnouncementsService]
})
export class DotToolbarAnnouncementsComponent implements OnInit {
export class DotToolbarAnnouncementsComponent {
announcementsService = inject(AnnouncementsService);

announcements: Signal<Announcement[]> = this.announcementsService.announcements;

unreadAnnouncements: Signal<boolean> = signal(false);

ngOnInit(): void {
this.unreadAnnouncements = this.announcementsService.unreadAnnouncements;
}
unreadAnnouncements: Signal<boolean> = this.announcementsService.unreadAnnouncements;

knowledgeCenterLinks = [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<span
class="badge"
id="dot-toolbar-notifications-badge"
*ngIf="!annocumentsMarkedAsRead"></span>
*ngIf="announcementsService.unreadAnnouncements()"></span>

<p-overlayPanel
#toolbarAnnouncements
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ export class DotToolbarNotificationsComponent implements OnInit {
}

markAnnocumentsAsRead(): void {
this.annocumentsMarkedAsRead = this.announcementsService.unreadAnnouncements();
this.activeAnnouncements = false;
this.announcementsService.saveAnnouncementsData();
}
}
Loading

0 comments on commit e88aa08

Please sign in to comment.