diff --git a/src/app/components/floating-column/floating-column.component.html b/src/app/components/floating-column/floating-column.component.html
index e7ed1bfa..418f0c4a 100644
--- a/src/app/components/floating-column/floating-column.component.html
+++ b/src/app/components/floating-column/floating-column.component.html
@@ -10,7 +10,11 @@
-
+
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/components/floating-column/manage-account/manage-account.component.ts b/src/app/components/floating-column/manage-account/manage-account.component.ts
index 6d494907..9bd9ff5b 100644
--- a/src/app/components/floating-column/manage-account/manage-account.component.ts
+++ b/src/app/components/floating-column/manage-account/manage-account.component.ts
@@ -1,10 +1,11 @@
-import { Component, OnInit, OnDestroy, Input } from '@angular/core';
+import { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';
import { faAt, faUserPlus } from "@fortawesome/free-solid-svg-icons";
import { faBell, faEnvelope, faUser, faStar } from "@fortawesome/free-regular-svg-icons";
import { Subscription } from 'rxjs';
import { AccountWrapper } from '../../../models/account.models';
import { UserNotificationService, UserNotification } from '../../../services/user-notification.service';
+import { OpenThreadEvent } from '../../../services/tools.service';
@Component({
@@ -24,6 +25,10 @@ export class ManageAccountComponent implements OnInit, OnDestroy {
hasNotifications = false;
hasMentions = false;
+ @Output() browseAccountEvent = new EventEmitter();
+ @Output() browseHashtagEvent = new EventEmitter();
+ @Output() browseThreadEvent = new EventEmitter();
+
@Input('account')
set account(acc: AccountWrapper) {
this._account = acc;
@@ -65,4 +70,16 @@ export class ManageAccountComponent implements OnInit, OnDestroy {
this.subPanel = subpanel;
return false;
}
+
+ browseAccount(accountName: string): void {
+ this.browseAccountEvent.next(accountName);
+ }
+
+ browseHashtag(hashtag: string): void {
+ this.browseHashtagEvent.next(hashtag);
+ }
+
+ browseThread(openThreadEvent: OpenThreadEvent): void {
+ this.browseThreadEvent.next(openThreadEvent);
+ }
}
diff --git a/src/app/components/floating-column/manage-account/mentions/mentions.component.ts b/src/app/components/floating-column/manage-account/mentions/mentions.component.ts
index 73b10a5f..222283f4 100644
--- a/src/app/components/floating-column/manage-account/mentions/mentions.component.ts
+++ b/src/app/components/floating-column/manage-account/mentions/mentions.component.ts
@@ -1,6 +1,5 @@
-import { Component, OnInit, OnDestroy, Input, ViewChild, ElementRef } from '@angular/core';
+import { Component, OnInit, OnDestroy, Input, ViewChild, ElementRef, Output, EventEmitter } from '@angular/core';
import { Subscription } from 'rxjs';
-import { Store } from '@ngxs/store';
import { AccountWrapper } from '../../../../models/account.models';
import { UserNotificationService, UserNotification } from '../../../../services/user-notification.service';
@@ -8,8 +7,7 @@ import { StatusWrapper } from '../../../../models/common.model';
import { Status, Notification } from '../../../../services/models/mastodon.interfaces';
import { MastodonService } from '../../../../services/mastodon.service';
import { NotificationService } from '../../../../services/notification.service';
-import { AccountSettings, SettingsState } from '../../../../states/settings.state';
-import { ToolsService } from '../../../../services/tools.service';
+import { ToolsService, OpenThreadEvent } from '../../../../services/tools.service';
@Component({
@@ -24,6 +22,10 @@ export class MentionsComponent implements OnInit, OnDestroy {
isThread = false;
hasContentWarnings = false;
+ @Output() browseAccountEvent = new EventEmitter();
+ @Output() browseHashtagEvent = new EventEmitter();
+ @Output() browseThreadEvent = new EventEmitter();
+
@Input('account')
set account(acc: AccountWrapper) {
console.warn('account');
@@ -48,8 +50,7 @@ export class MentionsComponent implements OnInit, OnDestroy {
private readonly toolsService: ToolsService,
private readonly notificationService: NotificationService,
private readonly userNotificationService: UserNotificationService,
- private readonly mastodonService: MastodonService,
- private readonly store: Store) {
+ private readonly mastodonService: MastodonService) {
}
@@ -121,4 +122,16 @@ export class MentionsComponent implements OnInit, OnDestroy {
this.isLoading = false;
});
}
+
+ browseAccount(accountName: string): void {
+ this.browseAccountEvent.next(accountName);
+ }
+
+ browseHashtag(hashtag: string): void {
+ this.browseHashtagEvent.next(hashtag);
+ }
+
+ browseThread(openThreadEvent: OpenThreadEvent): void {
+ this.browseThreadEvent.next(openThreadEvent);
+ }
}
diff --git a/src/app/components/floating-column/manage-account/notifications/notifications.component.ts b/src/app/components/floating-column/manage-account/notifications/notifications.component.ts
index ef03d5b3..6ac8fad0 100644
--- a/src/app/components/floating-column/manage-account/notifications/notifications.component.ts
+++ b/src/app/components/floating-column/manage-account/notifications/notifications.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, Input, ViewChild, ElementRef, OnDestroy } from '@angular/core';
+import { Component, OnInit, Input, ViewChild, ElementRef, OnDestroy, Output, EventEmitter } from '@angular/core';
import { Subscription } from 'rxjs';
import { faStar, faUserPlus, faRetweet } from "@fortawesome/free-solid-svg-icons";
import { faStar as faStar2 } from "@fortawesome/free-regular-svg-icons";
@@ -6,10 +6,11 @@ import { faStar as faStar2 } from "@fortawesome/free-regular-svg-icons";
import { AccountWrapper } from '../../../../models/account.models';
import { UserNotificationService, UserNotification } from '../../../../services/user-notification.service';
import { StatusWrapper } from '../../../../models/common.model';
-import { Status, Notification, Account } from '../../../../services/models/mastodon.interfaces';
+import { Notification, Account } from '../../../../services/models/mastodon.interfaces';
import { MastodonService } from '../../../../services/mastodon.service';
import { NotificationService } from '../../../../services/notification.service';
import { AccountInfo } from '../../../../states/accounts.state';
+import { OpenThreadEvent } from '../../../../services/tools.service';
@Component({
selector: 'app-notifications',
@@ -24,6 +25,10 @@ export class NotificationsComponent implements OnInit, OnDestroy {
notifications: NotificationWrapper[] = [];
isLoading = false;
+ @Output() browseAccountEvent = new EventEmitter();
+ @Output() browseHashtagEvent = new EventEmitter();
+ @Output() browseThreadEvent = new EventEmitter();
+
@Input('account')
set account(acc: AccountWrapper) {
this._account = acc;
@@ -113,6 +118,18 @@ export class NotificationsComponent implements OnInit, OnDestroy {
});
}
+
+ browseAccount(accountName: string): void {
+ this.browseAccountEvent.next(accountName);
+ }
+
+ browseHashtag(hashtag: string): void {
+ this.browseHashtagEvent.next(hashtag);
+ }
+
+ browseThread(openThreadEvent: OpenThreadEvent): void {
+ this.browseThreadEvent.next(openThreadEvent);
+ }
}
class NotificationWrapper {