fix #60
This commit is contained in:
parent
5b03f9d1d7
commit
eb552028b0
|
@ -1,4 +1,8 @@
|
||||||
<div class="stream-toots flexcroll" #statusstream (scroll)="onScroll()">
|
<div class="stream-toots flexcroll" #statusstream (scroll)="onScroll()">
|
||||||
|
<div class="stream-toots__remove-cw" *ngIf="isThread && hasContentWarnings">
|
||||||
|
<button class="stream-toots__remove-cw--button" (click)="removeCw()"
|
||||||
|
title="remove content warnings">Remove CWs</button>
|
||||||
|
</div>
|
||||||
<div *ngIf="displayError" class="stream-toots__error">{{displayError}}</div>
|
<div *ngIf="displayError" class="stream-toots__error">{{displayError}}</div>
|
||||||
|
|
||||||
<!-- data-simplebar -->
|
<!-- data-simplebar -->
|
||||||
|
|
|
@ -1,19 +1,48 @@
|
||||||
@import "variables";
|
@import "variables";
|
||||||
@import "commons";
|
@import "commons";
|
||||||
|
@import "mixins";
|
||||||
.stream-toots {
|
.stream-toots {
|
||||||
height: calc(100%);
|
height: calc(100%);
|
||||||
width: calc(100%);
|
width: calc(100%);
|
||||||
|
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
|
||||||
&__error {
|
&__error {
|
||||||
padding: 20px 20px 0 20px;
|
padding: 20px 20px 0 20px;
|
||||||
color: rgb(255, 113, 113);
|
color: rgb(255, 113, 113);
|
||||||
}
|
}
|
||||||
|
|
||||||
&__status:not(:last-child) {
|
&__status:not(:last-child) {
|
||||||
border: solid #06070b;
|
border: solid #06070b;
|
||||||
border-width: 0 0 1px 0;
|
border-width: 0 0 1px 0;
|
||||||
}
|
}
|
||||||
|
&__remove-cw {
|
||||||
|
padding: 5px;
|
||||||
|
// border: solid #06070b;
|
||||||
|
// border-width: 0 0 1px 0;
|
||||||
|
height: 45px;
|
||||||
|
// width: calc(100%);
|
||||||
|
// position: relative;
|
||||||
|
|
||||||
|
&--button {
|
||||||
|
@include clearButton;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 10;
|
||||||
|
padding: 3px;
|
||||||
|
text-align: center;
|
||||||
|
border: 2px $status-secondary-color dashed;
|
||||||
|
width: calc(80%);
|
||||||
|
margin-left: 40%;
|
||||||
|
transform: translateX(-40%);
|
||||||
|
transition: all .2s;
|
||||||
|
background-color: $color-secondary;
|
||||||
|
|
||||||
|
&:hover{
|
||||||
|
$hover-color: rgb(0, 206, 27);
|
||||||
|
$hover-color: rgb(0, 231, 231);
|
||||||
|
$hover-color: rgb(164, 222, 255);
|
||||||
|
// $hover-color: $status-secondary-color;
|
||||||
|
background-color: $hover-color;
|
||||||
|
color: black;
|
||||||
|
border: 3px $hover-color dashed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -21,6 +21,7 @@ export class StreamStatusesComponent implements OnInit, OnDestroy {
|
||||||
isLoading = true;
|
isLoading = true;
|
||||||
isThread = false;
|
isThread = false;
|
||||||
displayError: string;
|
displayError: string;
|
||||||
|
hasContentWarnings = false;
|
||||||
|
|
||||||
private _streamElement: StreamElement;
|
private _streamElement: StreamElement;
|
||||||
private account: AccountInfo;
|
private account: AccountInfo;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
|
import { Component, OnInit, Input, Output, EventEmitter, ViewChildren, QueryList } from '@angular/core';
|
||||||
import { HttpErrorResponse } from '@angular/common/http';
|
import { HttpErrorResponse } from '@angular/common/http';
|
||||||
|
|
||||||
import { MastodonService } from '../../../services/mastodon.service';
|
import { MastodonService } from '../../../services/mastodon.service';
|
||||||
|
@ -7,6 +7,7 @@ import { Results, Context, Status } from '../../../services/models/mastodon.inte
|
||||||
import { NotificationService } from '../../../services/notification.service';
|
import { NotificationService } from '../../../services/notification.service';
|
||||||
import { AccountInfo } from '../../../states/accounts.state';
|
import { AccountInfo } from '../../../states/accounts.state';
|
||||||
import { StatusWrapper } from '../../../models/common.model';
|
import { StatusWrapper } from '../../../models/common.model';
|
||||||
|
import { StatusComponent } from '../status/status.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-thread',
|
selector: 'app-thread',
|
||||||
|
@ -18,6 +19,7 @@ export class ThreadComponent implements OnInit {
|
||||||
displayError: string;
|
displayError: string;
|
||||||
isLoading = true;
|
isLoading = true;
|
||||||
isThread = true;
|
isThread = true;
|
||||||
|
hasContentWarnings = false;
|
||||||
|
|
||||||
private lastThreadEvent: OpenThreadEvent;
|
private lastThreadEvent: OpenThreadEvent;
|
||||||
|
|
||||||
|
@ -33,6 +35,8 @@ export class ThreadComponent implements OnInit {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ViewChildren(StatusComponent) statusChildren: QueryList<StatusComponent>;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private readonly notificationService: NotificationService,
|
private readonly notificationService: NotificationService,
|
||||||
private readonly toolsService: ToolsService,
|
private readonly toolsService: ToolsService,
|
||||||
|
@ -86,6 +90,8 @@ export class ThreadComponent implements OnInit {
|
||||||
const wrapper = new StatusWrapper(s, currentAccount);
|
const wrapper = new StatusWrapper(s, currentAccount);
|
||||||
this.statuses.push(wrapper);
|
this.statuses.push(wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.hasContentWarnings = this.statuses.filter(x => x.status.sensitive || x.status.spoiler_text).length > 1;
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
})
|
||||||
|
@ -119,4 +125,12 @@ export class ThreadComponent implements OnInit {
|
||||||
browseThread(openThreadEvent: OpenThreadEvent): void {
|
browseThread(openThreadEvent: OpenThreadEvent): void {
|
||||||
this.browseThreadEvent.next(openThreadEvent);
|
this.browseThreadEvent.next(openThreadEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
removeCw(){
|
||||||
|
const statuses = this.statusChildren.toArray();
|
||||||
|
statuses.forEach(x => {
|
||||||
|
x.removeContentWarning();
|
||||||
|
});
|
||||||
|
this.hasContentWarnings = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue