Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • omadrid/front
  • minds/front
  • joe59/front
  • markharding/front
  • eiennohi/front
  • edgebal/front
  • msantang78/front
  • bhayward93/front
  • xorgy/front
  • duyquoc/front
  • benhayward.ben/front
  • mnurzia/front
  • priestd09/front
  • dknunn/front
  • Yersinia/front
  • literalpie/front
  • maruthi-adithya/front
  • javanick/front
  • juanmsolaro/front
  • ascenderking/front
  • fabiolalombardim/front
  • jim-toth/front
  • Shivathanu/front
  • pestixaba/front
  • project_connection/front
  • mul53/front
  • iamonuwa/front
  • manishoo/front
  • namesty/front
  • AaronTheBruce/front
  • bedriguler/front
  • th2tran/front
  • jun784/front
  • mdstevens044/front
  • CodingNagger/front
  • heenachauhan201/front
  • diazairic/front
  • m994/front
  • webprodev/minds_front
  • chaoukiammar/front
  • benn7/front
  • ung1807/front
  • vinliao/front-patch-1
  • suhailkakar/front
  • theokeist/minds-blog
45 results
Show changes
Commits on Source (3)
......@@ -98,8 +98,19 @@ context('Blogs', () => {
);
if (nsfw) {
cy.get('.m-mature-info a').click();
cy.get('.m-mature-info a span').contains('Mature content');
// click on nsfw dropdown
cy.get(
'm-nsfw-selector .m-dropdown--label-container'
).click();
// select Nudity
cy.get('m-nsfw-selector .m-dropdownList__item')
.contains('Nudity')
.click();
// click away
cy.get('m-nsfw-selector .minds-bg-overlay').click({force: true});
}
if (schedule) {
......
<m-dropdown class="m-nsfwSelector__dropdown" [expanded]="expanded" #dropdown>
<m-dropdown
class="m-nsfwSelector__dropdown"
[expanded]="expanded"
#dropdown
data-cy="data-minds-nsfw-selector"
>
<label
class="m-nsfwSelector__label m-posterActionBar__IconAndLabel"
[class.selected]="hasSelections()"
......
......@@ -44,6 +44,10 @@ export class NSFWSelectorCreatorService extends NSFWSelectorService {
export class NSFWSelectorConsumerService extends NSFWSelectorService {
cacheKey: string = 'consumer';
}
/**
* Editing service, overrides build to allow pre-setting of values.
*/
export class NSFWSelectorEditingService extends NSFWSelectorService {
cacheKey: string = 'editing';
......
......@@ -154,23 +154,14 @@
<option *ngFor="let a of access" [value]="a.value">{{a.text}}</option>
</select>
</div>
<div class="m-mature-info">
<a
class="mdl-color-text--blue-grey-300 m-capture-mature"
(click)="blog.mature = blog.mature ? 0 : 1; checkMonetized()"
>
<i
class="material-icons"
[ngClass]="{ 'mdl-color-text--red-500': blog.mature }"
title="Mature content"
i18n-title="@@M__COMMON__MATURE_CONTENT"
>explicit</i
>
<span [ngClass]="{ 'mdl-color-text--red-500': blog.mature }"
>{{ blog.mature ? 'Mature content' : 'Anyone' }}</span
>
</a>
</div>
<m-nsfw-selector
service="editing"
(selectedChange)="onNSFWSelections($event)"
[selected]="editing && blog.nsfw != [] ? blog.nsfw : []"
>
</m-nsfw-selector>
<m-wire-threshold-input
[(threshold)]="blog.wire_threshold"
[(enabled)]="blog.paywall"
......
......@@ -245,6 +245,11 @@ describe('BlogEdit', () => {
inputs: ['date', 'dateFormat'],
outputs: ['dateChange'],
}),
MockComponent({
selector: 'm-nsfw-selector',
outputs: ['selectedChanged'],
inputs: ['selected'],
}),
MockDirective({
selector: '[mIfFeature]',
inputs: ['mIfFeature'],
......
......@@ -33,6 +33,7 @@ export class BlogEdit {
time_created: Math.floor(Date.now() / 1000),
access_id: 2,
tags: [],
nsfw: [],
license: 'attribution-sharealike-cc',
fileKey: 'header',
mature: 0,
......@@ -123,6 +124,7 @@ export class BlogEdit {
license: '',
fileKey: 'header',
mature: 0,
nsfw: [],
monetized: 0,
published: 0,
wire_threshold: null,
......@@ -143,8 +145,10 @@ export class BlogEdit {
this.existingBanner = false;
if (this.guid !== 'new') {
this.editing = true;
this.load();
} else {
this.editing = false;
const description: string = this.inMemoryStorageService.once(
'newBlogContent'
);
......@@ -254,6 +258,7 @@ export class BlogEdit {
const blog = Object.assign({}, this.blog);
// only allowed props
blog.nsfw = this.blog.nsfw;
blog.mature = blog.mature ? 1 : 0;
blog.monetization = blog.monetization ? 1 : 0;
blog.monetized = blog.monetized ? 1 : 0;
......@@ -358,4 +363,12 @@ export class BlogEdit {
this.blog.time_published > Math.floor(Date.now() / 1000)
);
}
/**
* Sets this blog NSFW
* @param { array } nsfw - Numerical indexes for reasons in an array e.g. [1, 2].
*/
onNSFWSelections(nsfw) {
this.blog.nsfw = nsfw.map(reason => reason.value);
}
}
......@@ -71,30 +71,11 @@
<option *ngFor="let a of access" [value]="a.value">{{ a.text }}</option>
</select>
</div>
<div class="m-mature-info">
<a
class="mdl-color-text--blue-grey-300 m-capture-mature"
(click)="entity.mature = entity.mature ? 0 : 1"
>
<i
class="material-icons"
[ngClass]="{ 'mdl-color-text--red-500': entity.mature }"
title="Mature content"
i18n-title="@@M__COMMON__MATURE_CONTENT"
>explicit</i
>
<span [ngClass]="{ 'mdl-color-text--red-500': entity.mature }">
<ng-container *ngIf="entity.mature" i18n="@@M__COMMON__MATURE_CONTENT"
>Mature Content</ng-container
>
<ng-container
*ngIf="!entity.mature"
i18n="@@MINDS__MEDIA__ANYONE_LABEL"
>Anyone</ng-container
>
</span>
</a>
</div>
<m-nsfw-selector
service="editing"
(selectedChange)="onNSFWSelections($event)"
[selected]="entity.nsfw"
>
</m-nsfw-selector>
</div>
</form>
......@@ -30,7 +30,7 @@ export class MediaEditComponent {
description: '',
subtype: '',
license: 'all-rights-reserved',
mature: false,
nsfw: [],
};
inProgress: boolean;
error: string;
......@@ -82,6 +82,7 @@ export class MediaEditComponent {
response.entity.mature =
response.entity.flags && response.entity.flags.mature ? 1 : 0;
this.entity.nsfw = response.entity.nsfw;
this.entity = response.entity;
}
});
......@@ -106,4 +107,12 @@ export class MediaEditComponent {
this.entity.file = file.source;
this.entity.thumbnail = file.seconds;
}
/**
* Sets this blog NSFW.
* @param { array } nsfw - Numerical indexes for reasons in an array e.g. [1, 2].
*/
onNSFWSelections(nsfw) {
this.entity.nsfw = nsfw.map(reason => reason.value);
}
}