Skip to content
GitLab
Menu
Why GitLab
Pricing
Contact Sales
Explore
Why GitLab
Pricing
Contact Sales
Explore
Sign in
Get free trial
Commits on Source (6)
(fix): comment counters should be vertically aligned
· 24583f57
Mark Harding
authored
Nov 15, 2019
24583f57
(chore): remove old analytics page for channels - closes engine#1129
· ea78a039
Mark Harding
authored
Nov 15, 2019
ea78a039
(chore): prevent nsfw from using stripe
· e10b954b
Mark Harding
authored
Nov 15, 2019
e10b954b
(fix): bad merge
· cb6d9921
Mark Harding
authored
Nov 15, 2019
cb6d9921
Merge branch 'master' of gitlab.com:minds/front into pro-settings-2163
· 76c5db04
Mark Harding
authored
Nov 15, 2019
76c5db04
(feat): implement payout methods for pro
· eba84d39
Mark Harding
authored
Nov 15, 2019
eba84d39
Hide whitespace changes
Inline
Side-by-side
src/app/modules/analytics/analytics.module.ts
View file @
eba84d39
...
...
@@ -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
,
...
...
src/app/modules/comments/comment/comment.component.scss
View file @
eba84d39
...
...
@@ -119,7 +119,7 @@
.minds-counter
{
font-size
:
12px
;
line-height
:
16px
;
vertical-align
:
top
;
vertical-align
:
middle
;
}
}
}
...
...
src/app/modules/pro/settings/settings.component.html
View file @
eba84d39
...
...
@@ -652,6 +652,104 @@
</div>
</div>
</ng-template>
<!-- Payouts -->
<ng-template
ngSwitchCase=
"payouts"
>
<div
class=
"m-shadowboxLayout__body"
>
<div
class=
"m-proSettings__tab--payouts"
formGroupName=
"payouts"
>
<div
class=
"m-proSettings__field--radio hasValidationRow"
>
<div
class=
"m-proSettings__row--label"
>
<label
for=
"domain"
i18n
>
Payout Method
</label>
<m-tooltip
icon=
"help"
><ng-container
i18n
>
Select a payout method below
</ng-container
></m-tooltip
>
</div>
<div
class=
"m-proSettings__row--input"
>
<label
for=
"method_usd"
class=
"m-proSettings__customInputContainer--radio"
i18n
>
USD
<input
type=
"radio"
value=
"usd"
id=
"method_usd"
name=
"method"
formControlName=
"method"
class=
"form-control"
/>
<span
class=
"m-proSettings__customInput--radio"
></span>
</label>
</div>
<div
class=
"m-proSettings__row--input"
>
<label
for=
"method_tokens"
class=
"m-proSettings__customInputContainer--radio"
i18n
>
Minds Tokens
<input
type=
"radio"
value=
"tokens"
name=
"method"
id=
"method_tokens"
formControlName=
"method"
class=
"form-control"
/>
<span
class=
"m-proSettings__customInput--radio"
></span>
</label>
</div>
<div
class=
"m-proSettings__row--input"
>
<label
for=
"method_eth"
class=
"m-proSettings__customInputContainer--radio"
i18n
>
Ether
<input
type=
"radio"
value=
"eth"
name=
"method"
id=
"method_eth"
formControlName=
"method"
class=
"form-control"
/>
<span
class=
"m-proSettings__customInput--radio"
></span>
</label>
</div>
<div
class=
"m-proSettings__row--input"
>
<label
for=
"method_btc"
class=
"m-proSettings__customInputContainer--radio"
i18n
>
Bitcoin
<input
type=
"radio"
value=
"btc"
name=
"method"
id=
"method_btc"
formControlName=
"method"
class=
"form-control"
/>
<span
class=
"m-proSettings__customInput--radio"
></span>
</label>
</div>
</div>
</div>
</div>
</ng-template>
</ng-container>
<ng-container
*ngTemplateOutlet=
"submitButton"
></ng-container>
</form>
...
...
src/app/modules/pro/settings/settings.component.ts
View file @
eba84d39
...
...
@@ -66,6 +66,12 @@ export class ProSettingsComponent implements OnInit, OnDestroy {
title
:
'
Domain
'
,
subtitle
:
'
Customize your site domain
'
,
},
{
id
:
'
payouts
'
,
title
:
'
Payouts
'
,
subtitle
:
'
Select the currency type you wish you be paid out in. Please note payouts only occur once you have received the equivalent of $100 or greater.
'
,
},
];
settings
:
any
;
...
...
@@ -120,6 +126,9 @@ export class ProSettingsComponent implements OnInit, OnDestroy {
domain
:
[
''
,
Validators
.
required
,
this
.
validateDomain
.
bind
(
this
)],
custom_head
:
[
''
],
}),
payouts
:
this
.
fb
.
group
({
method
:
[
'
usd
'
],
}),
});
constructor
(
...
...
@@ -202,6 +211,9 @@ export class ProSettingsComponent implements OnInit, OnDestroy {
domain
:
settings
.
domain
,
custom_head
:
settings
.
custom_head
,
},
payouts
:
{
method
:
settings
.
payout_method
,
},
});
this
.
setTags
(
settings
.
tag_list
);
...
...
@@ -330,6 +342,7 @@ export class ProSettingsComponent implements OnInit, OnDestroy {
footer_text
:
this
.
form
.
value
.
footer
.
title
,
tag_list
:
this
.
form
.
value
.
hashtags
,
footer_links
:
this
.
form
.
value
.
footer
.
links
,
payout_method
:
this
.
form
.
value
.
payouts
.
method
,
};
await
this
.
service
.
set
(
this
.
settings
,
this
.
user
);
this
.
formToastService
.
success
(
...
...
src/app/modules/pro/settings/sidebar-menu.default.ts
View file @
eba84d39
...
...
@@ -35,6 +35,10 @@ const sidebarMenu = {
label
:
'
Pro Subscription
'
,
path
:
'
pro
'
,
},
{
id
:
'
payouts
'
,
label
:
'
Payouts
'
,
},
{
id
:
'
:user
'
,
label
:
'
View Pro Channel
'
,
...
...
src/app/modules/wallet/usd/onboarding/onboarding.component.html
View file @
eba84d39
<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
"
...
...
src/app/modules/wallet/usd/onboarding/onboarding.component.ts
View file @
eba84d39
...
...
@@ -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
();
...
...