unoffical wafrn mirror wafrn.net
atproto social-network activitypub
at angular21 56 lines 1.7 kB view raw
1import { Component, Input, OnInit, SimpleChanges } from "@angular/core"; 2import { UserNotifications } from "src/app/interfaces/user-notifications"; 3import { RouterModule } from "@angular/router"; 4 5import { MatCardModule } from "@angular/material/card"; 6 7import { PostFragmentComponent } from "../post-fragment/post-fragment.component"; 8import { PostHeaderComponent } from "../post/post-header/post-header.component"; 9import { EnvironmentService } from "src/app/services/environment.service"; 10import { PostRibbonComponent } from "../post-ribbon/post-ribbon.component"; 11import { 12 faAt, 13 faCheck, 14 faCookieBite, 15 faHeart, 16 faQuoteLeft, 17 faRepeat, 18 faUser, 19} from "@fortawesome/free-solid-svg-icons"; 20 21@Component({ 22 selector: "app-single-notification", 23 templateUrl: "./single-notification.component.html", 24 styleUrls: ["./single-notification.component.scss"], 25 imports: [ 26 RouterModule, 27 MatCardModule, 28 PostFragmentComponent, 29 PostHeaderComponent, 30 PostRibbonComponent, 31 ], 32 //providers: [DateTimeToRelativePipe, DateTimeFromJsDatePipe] 33}) 34export class SingleNotificationComponent implements OnInit { 35 emojiUrl: string = ""; 36 @Input() notification!: UserNotifications; 37 38 notificationIcons = { 39 ["MENTION"]: faAt, 40 ["LIKE"]: faHeart, 41 ["FOLLOW"]: faUser, 42 ["REWOOT"]: faRepeat, 43 ["QUOTE"]: faQuoteLeft, 44 ["EMOJIREACT"]: faCheck, 45 ["USERBITE"]: faCookieBite, 46 ["POSTBITE"]: faCookieBite, 47 }; 48 49 constructor() {} 50 51 ngOnInit(): void { 52 if (this.notification.emojiReact) { 53 this.emojiUrl = `${EnvironmentService.environment.cacheDomain}/api/v2/cache/emoji/${this.notification.emojiReact.uuid}`; 54 } 55 } 56}