2019-10-09 13:02:56 +03:00
<div class="flex flex-column b--whitegrey bt">
2019-10-11 11:20:30 +03:00
<section class="bb b--whitegrey pa5">
2020-05-20 17:24:43 +03:00
{{ # if this .stripeDirect }}
<div class="flex justify-between">
<div>
<h4 class="gh-setting-title">Connect to Stripe</h4>
<p class="gh-setting-desc pa0 ma0">Configure API keys to create subscriptions and take payments</p>
</div>
<div>
<button type="button" class="gh-btn" {{ action ( toggle "membersStripeOpen" this ) }} data-test-toggle-membersstripe><span> {{ if this .membersStripeOpen "Close" "Expand" }} </span></button>
</div>
2019-10-11 11:20:30 +03:00
</div>
2019-10-09 13:02:56 +03:00
2020-05-20 17:24:43 +03:00
{{ # liquid-if this .membersStripeOpen }}
<div class="flex flex-column flex-row-l items-start justify-between mb4 mt6">
<div class="w-100 w-50-l">
<div class="mb4">
<label class="fw6 f8">Stripe Publishable key</label>
<GhTextInput
@type="password"
@value= {{ readonly this .subscriptionSettings .stripeConfig .public_token }}
@input= {{ action "setSubscriptionSettings" "public_token" }}
@class="mt1 password"
/>
</div>
<div class="nudge-top--3">
<label class="fw6 f8 mt4">Stripe Secret key</label>
<GhTextInput
@type="password"
@value= {{ readonly this .subscriptionSettings .stripeConfig .secret_token }}
@input= {{ action "setSubscriptionSettings" "secret_token" }}
@class="mt1 password"
/>
<a href="https://dashboard.stripe.com/account/apikeys" target="_blank" class="mt1 fw4 f8">
Find your Stripe API keys here »
</a>
</div>
2019-10-16 20:54:49 +03:00
</div>
2020-05-20 17:24:43 +03:00
<div class="ml0 ml5-l mt6">
<div class="gh-members-stripe-info">
<div class="gh-members-stripe-info-header">
<h4>How you get paid</h4>
{{ svg-jar "stripe-verified-partner-badge" class = "gh-members-stripe-badge" }}
</div>
<p class="f8 mt2 mb0">
Stripe is our exclusive direct payments partner.<br />
Ghost collects <strong>no fees</strong> on any payments! If you don’ t have a Stripe account yet, you can <a href="https://stripe.com" target="_blank" rel="noopener" class="gh-members-stripe-link">sign up here</a>.
</p>
2019-10-16 20:54:49 +03:00
</div>
</div>
2019-10-09 13:02:56 +03:00
</div>
2020-05-20 17:24:43 +03:00
{{ / liquid-if }}
2020-06-02 14:58:43 +03:00
{{ else }}
<div class="flex justify-between">
<div>
<h4 class="gh-setting-title">Connect to Stripe</h4>
<p class="gh-setting-desc pa0 ma0">Connect to Stripe to create subscriptions and take payments</p>
</div>
<div>
<button type="button" class="gh-btn" {{ action ( toggle "membersStripeOpen" this ) }} data-test-toggle-membersstripe><span> {{ if this .membersStripeOpen "Close" "Expand" }} </span></button>
</div>
</div>
{{ # liquid-if this .membersStripeOpen }}
<div class="flex flex-column flex-row-l items-start justify-between mb4 mt6">
<div class="w-100 w-50-l">
<div class="mb4">
<a href=" {{ this .stripeConnectAuthUrl }} " class="stripe-connect" target="_blank"><span>Connect with Stripe</span></a>
</div>
<div class="nudge-top--3">
<label class="fw6 f8 mt4">Stripe Connect authentication token</label>
<GhTextInput
@type="password"
@input= {{ action "setStripeConnectIntegrationToken" "stripe_connect_integration_token" }}
@class="mt1 password"
/>
</div>
</div>
<div class="ml0 ml5-l mt6">
<div class="gh-members-stripe-info">
<div class="gh-members-stripe-info-header">
<h4>How you get paid</h4>
{{ svg-jar "stripe-verified-partner-badge" class = "gh-members-stripe-badge" }}
</div>
<p class="f8 mt2 mb0">
Stripe is our exclusive direct payments partner.<br />
Ghost collects <strong>no fees</strong> on any payments! If you don’ t have a Stripe account yet, you can <a href="https://stripe.com" target="_blank" rel="noopener" class="gh-members-stripe-link">sign up here</a>.
</p>
</div>
</div>
</div>
{{ / liquid-if }}
2020-05-20 17:24:43 +03:00
{{ / if }}
2019-10-11 11:20:30 +03:00
</section>
<section class="bb b--whitegrey pa5">
<div class="flex justify-between">
<div>
2019-10-16 11:27:46 +03:00
<h4 class="gh-setting-title">Subscription pricing</h4>
<p class="gh-setting-desc pa0 ma0">Set monthly and yearly recurring subscription prices</p>
2019-10-11 11:20:30 +03:00
</div>
<div>
2019-12-13 17:20:29 +03:00
<button type="button" class="gh-btn" {{ action ( toggle "membersPricingOpen" this ) }} data-test-toggle-memberspricing><span> {{ if this .membersPricingOpen "Close" "Expand" }} </span></button>
2019-10-09 13:02:56 +03:00
</div>
</div>
2019-10-16 11:27:46 +03:00
2019-12-13 17:20:29 +03:00
{{ # liquid-if this .membersPricingOpen }}
2019-10-21 14:09:56 +03:00
<div class="w-100 w-50-l flex flex-column flex-row-ns mt8">
2020-03-04 08:31:39 +03:00
<div class="w-100">
<GhFormGroup @class="for-select">
<label class="fw6 f8"for="currency">Plan currency</label>
<span class="gh-select mt1">
{{ one-way-select this .selectedCurrency
id="currency"
name="currency"
options=(readonly this.currencies)
optionValuePath="value"
optionLabelPath="label"
update=(action "setSubscriptionSettings" "currency")
}}
{{ svg-jar "arrow-down-small" }}
</span>
</GhFormGroup>
</div>
</div>
<div class="w-100 w-50-l flex flex-column flex-row-ns">
2019-10-21 14:09:56 +03:00
<div class="w-100 w-50-ns mr3-ns">
2020-01-16 18:14:03 +03:00
<GhFormGroup>
2019-10-11 11:20:30 +03:00
<label class="fw6 f8">Monthly price</label>
2019-10-16 22:35:06 +03:00
<div class="flex items-center justify-center mt1 gh-input-group gh-labs-price-label">
2020-01-16 18:14:03 +03:00
<GhTextInput
2020-03-04 08:31:39 +03:00
@value= {{ readonly this .subscriptionSettings .stripeConfig .plans .monthly .amount }}
2020-01-16 18:14:03 +03:00
@type="number"
@input= {{ action "setSubscriptionSettings" "month" }}
/>
2020-03-04 08:31:39 +03:00
<span class="gh-input-append"><span class="ttu"> {{ this .subscriptionSettings .stripeConfig .plans .monthly .currency }} </span>/month</span>
2019-10-11 11:20:30 +03:00
</div>
2020-01-16 18:14:03 +03:00
</GhFormGroup>
2019-10-11 11:20:30 +03:00
</div>
2019-10-21 14:09:56 +03:00
<div class="w-100 w-50-ns ml2-ns">
2020-01-16 18:14:03 +03:00
<GhFormGroup @class="description-container">
2019-10-11 11:20:30 +03:00
<label class="fw6 f8">Yearly price</label>
2019-10-16 22:35:06 +03:00
<div class="flex items-center justify-center mt1 gh-input-group gh-labs-price-label">
2020-01-16 18:14:03 +03:00
<GhTextInput
2020-03-04 08:31:39 +03:00
@value= {{ readonly this .subscriptionSettings .stripeConfig .plans .yearly .amount }}
2020-01-16 18:14:03 +03:00
@type="number"
@input= {{ action "setSubscriptionSettings" "year" }}
/>
2020-03-04 08:31:39 +03:00
<span class="gh-input-append"><span class="ttu"> {{ this .subscriptionSettings .stripeConfig .plans .yearly .currency }} </span>/year</span>
2019-10-11 11:20:30 +03:00
</div>
2020-01-16 18:14:03 +03:00
</GhFormGroup>
2019-10-11 11:20:30 +03:00
</div>
</div>
{{ / liquid-if }}
2019-10-09 13:02:56 +03:00
</section>
2019-10-11 11:20:30 +03:00
<section class="bb b--whitegrey pa5">
<div class="flex justify-between">
<div>
2019-10-16 11:27:46 +03:00
<h4 class="gh-setting-title">Allow free member signup</h4>
<p class="gh-setting-desc pa0 ma0">If disabled, members can only be signed up via payment checkout or API integration</p>
2019-10-11 11:20:30 +03:00
</div>
<div>
<div class="for-switch">
2019-12-13 17:20:29 +03:00
<label class="switch" for="members-allow-self-signup" {{ action "setSubscriptionSettings" "allowSelfSignup" bubbles = "false" }} >
<input type="checkbox" checked= {{ this .subscriptionSettings .allowSelfSignup }} class="gh-input" onclick= {{ action "setSubscriptionSettings" "allowSelfSignup" }} data-test-checkbox="members-allow-self-signup">
2019-10-11 11:20:30 +03:00
<span class="input-toggle-component mt1"></span>
</label>
</div>
2019-10-09 13:02:56 +03:00
</div>
</div>
2019-10-11 11:20:30 +03:00
</section>
2019-10-09 13:02:56 +03:00
2019-10-11 11:20:30 +03:00
<section class="bb b--whitegrey pa5">
<div class="flex justify-between">
<div>
<h4 class="gh-setting-title">Default post access</h4>
2019-10-16 11:27:46 +03:00
<p class="gh-setting-desc pa0 ma0">When a new post is created, who should have access to it?</p>
2019-10-11 11:20:30 +03:00
</div>
<div>
2019-12-13 17:20:29 +03:00
<button type="button" class="gh-btn" {{ action ( toggle "membersPostAccessOpen" this ) }} data-test-toggle-memberspostaccess><span> {{ if this .membersPostAccessOpen "Close" "Expand" }} </span></button>
2019-10-09 13:02:56 +03:00
</div>
</div>
2019-10-16 11:27:46 +03:00
2019-12-13 17:20:29 +03:00
{{ # liquid-if this .membersPostAccessOpen }}
2019-10-16 11:27:46 +03:00
<div class="flex flex-column w-50 flex mt8">
2019-10-11 11:20:30 +03:00
<div class="gh-radio {{ if ( eq settings .defaultContentVisibility "public" ) "active" }} "
{{ action "setDefaultContentVisibility" "public" on = "click" }} >
<div class="gh-radio-button" data-test-publishmenu-unpublished-option></div>
<div class="gh-radio-content">
2019-10-16 11:27:46 +03:00
<div class="gh-radio-label">Public<br>
<small class="midgrey">All site visitors to your site, no login required</small></div>
2019-10-11 11:20:30 +03:00
</div>
</div>
2019-10-16 11:27:46 +03:00
2019-10-11 11:20:30 +03:00
<div class="gh-radio {{ if ( eq settings .defaultContentVisibility "members" ) "active" }} "
{{ action "setDefaultContentVisibility" "members" on = "click" }} >
<div class="gh-radio-button" data-test-publishmenu-published-option></div>
<div class="gh-radio-content">
2019-10-16 11:27:46 +03:00
<div class="gh-radio-label">Members only<br>
<small class="midgrey">All logged-in members</small></div>
2019-10-11 11:20:30 +03:00
</div>
</div>
2019-10-16 11:27:46 +03:00
2019-10-11 11:20:30 +03:00
<div class="gh-radio {{ if ( eq settings .defaultContentVisibility "paid" ) "active" }} "
{{ action "setDefaultContentVisibility" "paid" on = "click" }} >
<div class="gh-radio-button" data-test-publishmenu-published-option></div>
<div class="gh-radio-content">
2019-10-16 11:27:46 +03:00
<div class="gh-radio-label">Paid-members only<br>
<small class="midgrey">Only logged-in members with an active Stripe subscription</small></div>
2019-10-11 11:20:30 +03:00
</div>
2019-10-09 13:02:56 +03:00
</div>
</div>
2019-10-11 11:20:30 +03:00
{{ / liquid-if }}
2019-10-09 13:02:56 +03:00
</section>
2019-10-11 11:20:30 +03:00
<section class="bb b--whitegrey pa5">
<div class="flex justify-between">
<div>
2020-06-08 23:22:58 +03:00
<h4 class="gh-setting-title">From address</h4>
<p class="gh-setting-desc pa0 ma0">The email address your members receive newsletters from</p>
2019-10-11 11:20:30 +03:00
</div>
<div>
2020-06-08 23:22:58 +03:00
<button type="button" class="gh-btn" {{ action ( toggle "membersFromOpen" this ) }} data-test-toggle-membersFrom><span> {{ if this .membersFromOpen "Close" "Expand" }} </span></button>
2019-10-11 11:20:30 +03:00
</div>
2019-10-09 13:02:56 +03:00
</div>
2019-10-16 11:27:46 +03:00
2020-06-08 23:22:58 +03:00
{{ # liquid-if this .membersFromOpen }}
<div class="flex flex-column w-100 w-50-l flex mt8">
<GhFormGroup>
<div class="flex items-center justify-center mt1">
<GhTextInput
@value= {{ readonly this .subscriptionSettings .fromAddress }}
@input= {{ action "setSubscriptionSettings" "fromAddress" }}
@class="w20"
/>
<GhTaskButton
@buttonText="Update from address"
@runningText="Sending..."
@successText="Confirmation Email Sent"
@task= {{ this .updateFromAddress }}
@class="gh-btn gh-btn-icon gh-btn-textfield-group ml2"
data-test-button="update-from-address"
/>
</div>
</GhFormGroup>
{{ # if this .showFromAddressConfirmation }}
<div class="flex items-center green-d1 nt3 lh-1">
{{ svg-jar "check-circle" class = "w4 h4 mr1 stroke-green-d1" }} <span class="nudge-left--2">Check your inbox and click the link to confirm</span>
</div>
{{ / if }}
</div>
{{ / liquid-if }}
</section>
{{ # unless this .hasBulkEmailConfig }}
<section class="bb b--whitegrey pa5">
<div class="flex justify-between">
<div>
<h4 class="gh-setting-title">Mailgun settings</h4>
<p class="gh-setting-desc pa0 ma0">Customise signup, signin and subscription emails</p>
2020-01-16 18:14:03 +03:00
</div>
2020-06-08 23:22:58 +03:00
<div>
<button type="button" class="gh-btn" {{ action ( toggle "membersEmailOpen" this ) }} data-test-toggle-membersemail>
<span> {{ if this .membersEmailOpen "Close" "Expand" }} </span>
</button>
</div>
</div>
2019-11-15 16:10:45 +03:00
2020-06-08 23:22:58 +03:00
{{ # liquid-if this .membersEmailOpen }}
<div class="flex flex-column w-100 w-50-l flex mt8">
<div class="flex items-center">
<GhFormGroup @class="gh-labs-mailgun-region">
<label class="fw6 f8">Mailgun region</label>
<div class="mt1">
<PowerSelect
@options= {{ this .mailgunRegions }}
@selected= {{ this .mailgunRegion }}
@onChange= {{ action "setBulkEmailRegion" }}
@searchEnabled= {{ false }}
@triggerComponent="gh-power-select/trigger"
as |region|
>
{{ region .flag }} {{ region .name }}
</PowerSelect>
</div>
</GhFormGroup>
<GhFormGroup>
<label class="fw6 f8">Mailgun domain</label>
<GhTextInput
@value= {{ readonly this .bulkEmailSettings .domain }}
@input= {{ action "setBulkEmailSettings" "domain" }}
@class="mt1"
/>
</GhFormGroup>
</div>
<div class="nt5 mb5">
<a href="https://app.mailgun.com/app/sending/domains" target="_blank" class="mt1 fw4 f8">
Find your Mailgun region and domain here »
</a>
</div>
2020-01-16 18:14:03 +03:00
<GhFormGroup>
2020-06-08 23:22:58 +03:00
<label class="fw6 f8">Mailgun API key</label>
2020-01-16 18:14:03 +03:00
<GhTextInput
2020-06-08 23:22:58 +03:00
@type="password"
@value= {{ readonly this .bulkEmailSettings .apiKey }}
@input= {{ action "setBulkEmailSettings" "apiKey" }}
@class="mt1 password" @autocomplete="new-password"
2020-01-16 18:14:03 +03:00
/>
2020-06-08 23:22:58 +03:00
<a href="https://app.mailgun.com/app/account/security/api_keys" target="_blank" class="mt1 fw4 f8">
Find your Mailgun API keys here »
</a>
2020-01-16 18:14:03 +03:00
</GhFormGroup>
2020-06-08 23:22:58 +03:00
</div>
{{ / liquid-if }}
</section>
{{ / unless }}
2019-10-09 13:02:56 +03:00
</div>