unoffical wafrn mirror
wafrn.net
atproto
social-network
activitypub
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}