+ [browseHashtagData]="overlayHashtagToBrowse"
+ [browseThreadData]="overlayThreadToBrowse">
x
@@ -12,6 +13,7 @@
+ (browseHashtagEvent)="browseHashtag($event)"
+ (browseThreadEvent)="browseThread($event)">
\ No newline at end of file
diff --git a/src/app/components/floating-column/floating-column.component.scss b/src/app/components/floating-column/floating-column.component.scss
index dc5117a1..6f1e8a25 100644
--- a/src/app/components/floating-column/floating-column.component.scss
+++ b/src/app/components/floating-column/floating-column.component.scss
@@ -1,7 +1,6 @@
@import "variables";
@import "mixins";
-$floating-column-size: 330px;
.floating-column {
width: calc(100%);
@@ -9,12 +8,14 @@ $floating-column-size: 330px;
background-color: $color-secondary;
overflow: hidden;
- z-index: 99;
+ z-index: 200;
position: fixed;
top: 0;
bottom: $stream-selector-height;
padding: 0;
+ white-space: normal;
+
// &__header {
// }
diff --git a/src/app/components/floating-column/floating-column.component.ts b/src/app/components/floating-column/floating-column.component.ts
index 8f5116eb..31f28386 100644
--- a/src/app/components/floating-column/floating-column.component.ts
+++ b/src/app/components/floating-column/floating-column.component.ts
@@ -1,6 +1,7 @@
import { Component, OnInit } from '@angular/core';
import { NavigationService, LeftPanelType } from '../../services/navigation.service';
import { AccountWrapper } from '../../models/account.models';
+import { OpenThreadEvent } from '../../services/tools.service';
@Component({
selector: 'app-floating-column',
@@ -11,6 +12,7 @@ export class FloatingColumnComponent implements OnInit {
overlayActive: boolean;
overlayAccountToBrowse: string;
overlayHashtagToBrowse: string;
+ overlayThreadToBrowse: OpenThreadEvent;
userAccountUsed: AccountWrapper;
@@ -54,18 +56,22 @@ export class FloatingColumnComponent implements OnInit {
browseAccount(account: string): void {
this.overlayAccountToBrowse = account;
this.overlayHashtagToBrowse = null;
+ this.overlayThreadToBrowse = null;
this.overlayActive = true;
}
browseHashtag(hashtag: string): void {
this.overlayAccountToBrowse = null;
this.overlayHashtagToBrowse = hashtag;
+ this.overlayThreadToBrowse = null;
this.overlayActive = true;
}
- browseThread(thread: string): void {
- console.warn('browseThread');
- console.warn(thread);
+ browseThread(openThreadEvent: OpenThreadEvent): void {
+ this.overlayAccountToBrowse = null;
+ this.overlayHashtagToBrowse = null;
+ this.overlayThreadToBrowse = openThreadEvent;
+ this.overlayActive = true;
}
closeOverlay(): boolean {
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 dcbb2c92..295f1698 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
@@ -4,6 +4,7 @@ import { Store } from '@ngxs/store';
import { AccountsStateModel, AccountInfo, RemoveAccount } from '../../../states/accounts.state';
import { AccountWrapper } from '../../../models/account.models';
import { NavigationService } from '../../../services/navigation.service';
+import { NotificationService } from '../../../services/notification.service';
@Component({
selector: 'app-manage-account',
@@ -17,7 +18,8 @@ export class ManageAccountComponent implements OnInit {
constructor(
private readonly store: Store,
- private readonly navigationService: NavigationService) { }
+ private readonly navigationService: NavigationService,
+ private notificationService: NotificationService) { }
ngOnInit() {
const instance = this.account.info.instance;
@@ -29,7 +31,10 @@ export class ManageAccountComponent implements OnInit {
addStream(stream: StreamElement): boolean {
if (stream) {
- this.store.dispatch([new AddStream(stream)]);
+ this.store.dispatch([new AddStream(stream)]).toPromise()
+ .then(() => {
+ this.notificationService.notify(`${stream.displayableFullName} added`, false);
+ });
}
return false;
}
diff --git a/src/app/components/floating-column/search/search.component.html b/src/app/components/floating-column/search/search.component.html
index 1e2089e8..19247483 100644
--- a/src/app/components/floating-column/search/search.component.html
+++ b/src/app/components/floating-column/search/search.component.html
@@ -32,7 +32,8 @@
+ (browseHashtagEvent)="browseHashtag($event)"
+ (browseThreadEvent)="browseThread($event)">
\ No newline at end of file
diff --git a/src/app/components/floating-column/search/search.component.scss b/src/app/components/floating-column/search/search.component.scss
index ce4d5a7a..182c7275 100644
--- a/src/app/components/floating-column/search/search.component.scss
+++ b/src/app/components/floating-column/search/search.component.scss
@@ -56,7 +56,8 @@
}
}
- &__status {
+ &__status {
+ font-size: 15px;
border-top: 1px solid $separator-color;
&:last-of-type {
border-bottom: 1px solid $separator-color;
diff --git a/src/app/components/floating-column/search/search.component.ts b/src/app/components/floating-column/search/search.component.ts
index dea93cbe..584aaed3 100644
--- a/src/app/components/floating-column/search/search.component.ts
+++ b/src/app/components/floating-column/search/search.component.ts
@@ -1,13 +1,12 @@
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
-import { Store } from '@ngxs/store';
+import { HttpErrorResponse } from '@angular/common/http';
import { MastodonService } from '../../../services/mastodon.service';
import { AccountInfo } from '../../../states/accounts.state';
-import { Results, Account, Status } from '../../../services/models/mastodon.interfaces';
-import { ToolsService } from '../../../services/tools.service';
+import { Results, Account } from '../../../services/models/mastodon.interfaces';
+import { ToolsService, OpenThreadEvent } from '../../../services/tools.service';
import { StatusWrapper } from '../../stream/stream.component';
-import { StreamElement, StreamTypeEnum, AddStream } from './../../../states/streams.state';
-
+import { NotificationService } from '../../../services/notification.service';
@Component({
selector: 'app-search',
@@ -25,9 +24,10 @@ export class SearchComponent implements OnInit {
@Output() browseAccountEvent = new EventEmitter