...
 
Commits (2)
......@@ -221,6 +221,7 @@ export class RemindMock {
@Input() object;
@Input() events;
@Input() boosted;
@Output() matureVisibilityChange: EventEmitter<any> = new EventEmitter<any>();
}
@Component({
......
......@@ -61,14 +61,14 @@
<div m-read-more class="mdl-card__supporting-text message m-mature-message" [class.m-activity--message-remind]="activity.remind_object"
[hidden]="!activity.message || editing">
<a class="m-mature-text-toggle" (click)="activity.mature_visibility = !activity.mature_visibility"
<a class="m-mature-text-toggle" (click)="toggleMatureVisibility()"
*ngIf="attachment.shouldBeBlurred(activity) || attachment.isForcefullyShown(activity)"
[ngClass]="{ 'mdl-color-text--red-500': attachment.isForcefullyShown(activity) }">
<i class="material-icons m-material-icons-inline">explicit</i>
</a>
<span class="m-mature-message-content" [innerHtml]="activity.message | tags" [ngClass]="{ 'm-mature-text': attachment.shouldBeBlurred(activity) }"
(click)="activity.mature && !activity.mature_visibility ? activity.mature_visibility = !activity.mature_visibility : null">
(click)="activity.mature && !activity.mature_visibility ? toggleMatureVisibility(): null">
</span>
<m-read-more--button></m-read-more--button>
</div>
......@@ -127,7 +127,7 @@
<div class="m-rich-embed"
*ngIf="activity.perma_url && activity.title"
[ngClass]="{ 'm-mature-content': attachment.shouldBeBlurred(activity), 'm-mature-content-shown': attachment.isForcefullyShown(activity) }">
<div class="m-mature-overlay" (click)="activity.mature_visibility = !activity.mature_visibility">
<div class="m-mature-overlay" (click)="toggleMatureVisibility()">
<span class="m-mature-overlay-note">
<i class="material-icons" title="Mature content" i18n-title="@@M__COMMON__MATURE_CONTENT">explicit</i>
<span i18n="@@M__COMMON__CONFIRM_18">Click to confirm your are 18+</span>
......@@ -156,7 +156,7 @@
<div class="item item-image item-image-video m-activity--video"
[ngClass]="{ 'm-mature-content': attachment.shouldBeBlurred(activity), 'm-mature-content-shown': attachment.isForcefullyShown(activity) }"
*ngIf="activity.custom_type == 'video'">
<div class="m-mature-overlay" (click)="activity.mature_visibility = !activity.mature_visibility">
<div class="m-mature-overlay" (click)="toggleMatureVisibility()">
<span class="m-mature-overlay-note">
<i class="material-icons" title="Mature content" i18n-title="@@M__COMMON__MATURE_CONTENT">explicit</i>
<span i18n="@@M__COMMON__CONFIRM_18">Click to confirm your are 18+</span>
......@@ -181,7 +181,7 @@
<div class="item item-image allow-select m-activity--image"
[ngClass]="{ 'm-mature-content': attachment.shouldBeBlurred(activity), 'm-mature-content-shown': attachment.isForcefullyShown(activity) }"
*ngIf="activity.thumbnail_src && !activity.perma_url">
<div class="m-mature-overlay" (click)="activity.mature_visibility = !activity.mature_visibility">
<div class="m-mature-overlay" (click)="toggleMatureVisibility()">
<span class="m-mature-overlay-note">
<i class="material-icons" title="Mature content" i18n-title="@@M__COMMON__MATURE_CONTENT">explicit</i>
<span i18n="@@M__COMMON__CONFIRM_18">Click to confirm your are 18+</span>
......@@ -197,7 +197,7 @@
<div class="item item-image allow-select"
[ngClass]="{ 'm-mature-content': attachment.shouldBeBlurred(activity), 'm-mature-content-shown': attachment.isForcefullyShown(activity) }"
*ngIf="activity.custom_type == 'batch'">
<div class="m-mature-overlay" (click)="activity.mature_visibility = !activity.mature_visibility">
<div class="m-mature-overlay" (click)="toggleMatureVisibility()">
<span class="m-mature-overlay-note">
<i class="material-icons" title="Mature content" i18n-title="@@M__COMMON__MATURE_CONTENT">explicit</i>
<span i18n="@@M__COMMON__CONFIRM_18">Click to confirm your are 18+</span>
......@@ -214,7 +214,12 @@
<!-- Reminds -->
<div *ngIf="activity.remind_object">
<ng-container *ngIf="!isOwnerBlocked(activity.remind_object); else blockedRemindTemplate">
<minds-remind [object]="activity.remind_object" [events]="childEventsEmitter" [boosted]="activity.boosted"></minds-remind>
<minds-remind
[object]="activity.remind_object"
[events]="childEventsEmitter"
[boosted]="activity.boosted"
(matureVisibilityChange)="onRemindMatureVisibilityChange()"
></minds-remind>
</ng-container>
<ng-template #blockedRemindTemplate>
<div class="m-activity__blockedRemind">
......
......@@ -149,13 +149,13 @@ export class Activity implements OnInit {
this.activityAnalyticsOnViewService.setEntity(this.activity);
if (
this.activity.custom_type == 'batch'
&& this.activity.custom_data
this.activity.custom_type == 'batch'
&& this.activity.custom_data
&& this.activity.custom_data[0].src
) {
this.activity.custom_data[0].src = this.activity.custom_data[0].src.replace(this.minds.site_url, this.minds.cdn_url);
}
if (!this.activity.message) {
this.activity.message = '';
}
......@@ -413,6 +413,25 @@ export class Activity implements OnInit {
return activity && activity.pending && activity.pending !== '0';
}
toggleMatureVisibility() {
this.activity.mature_visibility = !this.activity.mature_visibility;
if (this.activity.remind_object) {
// this.activity.remind_object.mature_visibility = !this.activity.remind_object.mature_visibility;
this.activity.remind_object = Object.assign({}, {
...this.activity.remind_object,
mature_visibility: !this.activity.remind_object.mature_visibility
});
}
this.detectChanges();
}
onRemindMatureVisibilityChange() {
this.activity.mature_visibility = !this.activity.mature_visibility;
}
detectChanges() {
this.cd.markForCheck();
this.cd.detectChanges();
......
import { Component, ChangeDetectionStrategy, ChangeDetectorRef, EventEmitter, Input } from '@angular/core';
import { Component, ChangeDetectionStrategy, ChangeDetectorRef, EventEmitter, Input, Output } from '@angular/core';
import { Client } from '../../../../../services/api';
import { Session } from '../../../../../services/session';
......@@ -33,6 +33,8 @@ export class Remind {
menuOptions: any = [];
canDelete: boolean = false;
@Output('matureVisibilityChange') onMatureVisibilityChange: EventEmitter<any> = new EventEmitter<any>();
constructor(
public session: Session,
public client: Client,
......@@ -119,4 +121,10 @@ export class Remind {
togglePin() { /* NOOP */ }
menuOptionSelected(e) { /* NOOP */ }
toggleMatureVisibility() {
this.activity.mature_visibility = !this.activity.mature_visibility;
this.onMatureVisibilityChange.emit();
}
}