...
 
Commits (9)
{
"name": "Using fixtures to represent data",
"email": "hello@cypress.io",
"body": "Fixtures are a great way to mock data for responses to routes"
}
\ No newline at end of file
"body": "Fixtures are a great way to mock data for responses to routes. Small changes are a great way to force a new Merge Request"
}
......@@ -63,7 +63,7 @@ export class MindsAvatar {
if (this.object.type !== 'user') {
this.src = `${this.minds.cdn_url}fs/v1/avatars/${this.object.guid}/large/${this.object.icontime}`;
} else if (this.object.guid !== this.minds.user.guid) {
} else if (!this.minds.user || this.object.guid !== this.minds.user.guid) {
this.src = `${this.minds.cdn_url}icon/${this.object.guid}/large/${this.object.icontime}`;
}
}
......@@ -130,6 +130,6 @@ export class MindsAvatar {
* @returns true if the object guid matches the currently logged in user guid
*/
isOwnerAvatar(): boolean {
return this.object.guid === this.minds.user.guid;
return this.minds.user && this.object.guid === this.minds.user.guid;
}
}
......@@ -71,16 +71,7 @@ const routes: Routes = [
path: 'analytics',
component: AnalyticsComponent,
children: [
{ path: '', redirectTo: 'channel', pathMatch: 'full' },
{
path: 'channel',
component: ChannelAnalyticsComponent,
children: [
{ path: '', redirectTo: 'activity', pathMatch: 'full' },
{ path: 'activity', component: ChannelGeneralAnalyticsComponent },
{ path: 'reach', component: ChannelReachAnalyticsComponent },
],
},
{ path: '', redirectTo: 'dashboard/', pathMatch: 'full' },
{
path: 'admin',
component: AdminAnalyticsComponent,
......
......@@ -119,7 +119,7 @@
.minds-counter {
font-size: 12px;
line-height: 16px;
vertical-align: top;
vertical-align: middle;
}
}
}
......
<div *ngIf="eligible === false">
<p>
Due to Stripe's
<a href="https://stripe.com/restricted-businesses" target="_blank">
Terms of Use</a
>, this feature is currently unavailable for any channel determined to be
not safe for work (NSFW). If you are impacted by Stripe's terms and still
wish to monetize your channel, please consider onboarding to receive
payments in <a (click)="openBtc()">Bitcoin</a>,
<a routerLink="/wallet/tokens/addresses">Ether</a> or
<a routerLink="/wallet/tokens/addresses">Minds Tokens</a>.
</p>
</div>
<form
*ngIf="eligible === true"
(submit)="submit()"
[formGroup]="form"
#f="ngForm"
......
......@@ -13,6 +13,8 @@ import { Client } from '../../../../services/api';
import { requiredFor, optionalFor } from './onboarding.validators';
import { OverlayModalService } from '../../../../services/ux/overlay-modal';
import { WalletUSDTermsComponent } from '../terms.component';
import { Session } from '../../../../services/session';
import { BTCSettingsComponent } from '../../../payments/btc/settings.component';
@Component({
selector: 'm-walletUsd__onboarding',
......@@ -22,6 +24,7 @@ export class WalletUSDOnboardingComponent implements OnInit {
form: FormGroup;
inProgress: boolean = false;
restrictAsVerified: boolean = false;
eligible: boolean;
minds = window.Minds;
merchant: any;
......@@ -36,7 +39,8 @@ export class WalletUSDOnboardingComponent implements OnInit {
private client: Client,
private cd: ChangeDetectorRef,
private router: Router,
protected overlayModal: OverlayModalService
protected overlayModal: OverlayModalService,
private session: Session
) {}
ngOnInit() {
......@@ -70,6 +74,12 @@ export class WalletUSDOnboardingComponent implements OnInit {
this.form.patchValue(this.merchant);
}
if (this.session.getLoggedInUser().nsfw.length > 0) {
this.eligible = false;
} else {
this.eligible = true;
}
this.disableRestrictedFields();
}
......@@ -180,6 +190,10 @@ export class WalletUSDOnboardingComponent implements OnInit {
this.overlayModal.create(WalletUSDTermsComponent).present();
}
openBtc() {
this.overlayModal.create(BTCSettingsComponent, {}).present();
}
detectChanges() {
this.cd.markForCheck();
this.cd.detectChanges();
......
This diff is collapsed.