Ghost/ghost/admin/app/components/gh-portal-links.hbs
Rishabh dd75d831c0 Updated Portal links to show dynamic prices
refs https://github.com/TryGhost/Team/issues/643

Currently, the whole setup for choosing plans is built around hardcoded `monthly` / `yearly` which is also exposed in the Portal links/data attributes. Since we now have custom prices, this updates the UI to show links/attributes for all available custom prices and allowing them to function via their price ids.
2021-05-07 22:08:54 +05:30

196 lines
10 KiB
Handlebars

<div class="gh-portal-links-container">
<div class="gh-portal-links-main">
<h2>Links</h2>
<p>Use these {{if isLink "links" "data attributes"}} in your theme to show pages of Portal.</p>
<table class="gh-portal-links-table">
<tr class="header">
<td><h4>Page</h4></td>
<td>
<div class='toggle-header'>
<h4>{{sectionHeaderLabel}}</h4>
<h4 class='gh-portal-links-cell toggle' onclick={{action "toggleShowLinks"}}>{{this.toggleValue}}</h4>
</div>
</td>
</tr>
<tr>
<td colspan="2"><hr class="gh-portal-links-group-divider first" /></td>
</tr>
<tr>
<td class="pagename">Default</td>
<td class='page-url'>
<div class="gh-portal-page-url-container">
<div class="page-url-label">
{{#if isLink}}
<span class="page-url-disabled">{{this.siteUrl}}/</span><span>#/portal</span>
{{else}}
data-portal
{{/if}}
</div>
<button type="button" {{action (perform this.copyStaticLink '')}} class="gh-portal-setting-copy">
{{#if (and this.copyStaticLink.isRunning (eq this.copiedPrice ""))}}
{{svg-jar "check-circle" class="w3 v-mid mr2 stroke-darkgrey"}} Copied
{{else}}
<span data-tooltip="Copy">{{svg-jar "copy" class="w4 v-mid fill-darkgrey"}}</span>
{{/if}}
</button>
</div>
</td>
</tr>
<tr>
<td colspan="2"><hr class="gh-portal-links-group-divider" /></td>
</tr>
<tr>
<td class='pagename'>Sign in</td>
<td class='page-url'>
<div class="gh-portal-page-url-container">
<div class="page-url-label">
{{#if isLink}}
<span class="page-url-disabled">{{this.siteUrl}}/</span><span>#/portal/signin</span>
{{else}}
data-portal="signin"
{{/if}}
</div>
<button type="button" {{action (perform this.copyStaticLink "signin")}} class="gh-portal-setting-copy">
{{#if (and this.copyStaticLink.isRunning (eq this.copiedPrice "signin"))}}
{{svg-jar "check-circle" class="w3 v-mid mr2 stroke-darkgrey"}} Copied
{{else}}
<span data-tooltip="Copy">{{svg-jar "copy" class="w4 v-mid fill-darkgrey"}}</span>
{{/if}}
</button>
</div>
</td>
</tr>
<tr>
<td class='pagename'>Sign up</td>
<td class='page-url'>
<div class="gh-portal-page-url-container">
<div class="page-url-label">
{{#if isLink}}
<span class="page-url-disabled">{{this.siteUrl}}/</span><span>#/portal/signup</span>
{{else}}
data-portal="signup"
{{/if}}
</div>
<button type="button" {{action (perform this.copyStaticLink "signup")}} class="gh-portal-setting-copy">
{{#if (and this.copyStaticLink.isRunning (eq this.copiedPrice "signup"))}}
{{svg-jar "check-circle" class="w3 v-mid mr2 stroke-darkgrey"}} Copied
{{else}}
<span data-tooltip="Copy">{{svg-jar "copy" class="w4 v-mid fill-darkgrey"}}</span>
{{/if}}
</button>
</div>
</td>
</tr>
{{#each this.filteredPrices as |price|}}
<tr>
<td class='pagename'>Sign up/{{price.nickname}}</td>
<td class='page-url'>
<div class="gh-portal-page-url-container">
<div class="page-url-label">
{{#if isLink}}
<span class="page-url-disabled">{{this.siteUrl}}/</span><span>#/portal/signup/{{price.id}}</span>
{{else}}
data-portal="signup/{{price.id}}"
{{/if}}
</div>
<button type="button" {{action (perform this.copySignupLink price)}} class="gh-portal-setting-copy">
{{#if (and this.copySignupLink.isRunning (eq this.copiedPrice price.id))}}
{{svg-jar "check-circle" class="w3 v-mid mr2 stroke-darkgrey"}} Copied
{{else}}
<span data-tooltip="Copy">{{svg-jar "copy" class="w4 v-mid fill-darkgrey"}}</span>
{{/if}}
</button>
</div>
</td>
</tr>
{{/each}}
<tr>
<td class='pagename'>Sign up/Free</td>
<td class='page-url'>
<div class="gh-portal-page-url-container">
<div class="page-url-label">
{{#if isLink}}
<span class="page-url-disabled">{{this.siteUrl}}/</span><span>#/portal/signup/free</span>
{{else}}
data-portal="signup/free"
{{/if}}
</div>
<button type="button" {{action (perform this.copyStaticLink "signup/free")}} class="gh-portal-setting-copy">
{{#if (and this.copyStaticLink.isRunning (eq this.copiedPrice "signup/free"))}}
{{svg-jar "check-circle" class="w3 v-mid mr2 stroke-darkgrey"}} Copied
{{else}}
<span data-tooltip="Copy">{{svg-jar "copy" class="w4 v-mid fill-darkgrey"}}</span>
{{/if}}
</button>
</div>
</td>
</tr>
<tr>
<td colspan="2"><hr class="gh-portal-links-group-divider" /></td>
</tr>
<tr>
<td class='pagename'>Account</td>
<td class='page-url'>
<div class="gh-portal-page-url-container">
<div class="page-url-label">
{{#if isLink}}
<span class="page-url-disabled">{{this.siteUrl}}/</span><span>#/portal/account</span>
{{else}}
data-portal="account"
{{/if}}
</div>
<button type="button" {{action (perform this.copyStaticLink "account")}} class="gh-portal-setting-copy">
{{#if (and this.copyStaticLink.isRunning (eq this.copiedPrice "account"))}}
{{svg-jar "check-circle" class="w3 v-mid mr2 stroke-darkgrey"}} Copied
{{else}}
<span data-tooltip="Copy">{{svg-jar "copy" class="w4 v-mid fill-darkgrey"}}</span>
{{/if}}
</button>
</div>
</td>
</tr>
<tr>
<td class='pagename'>Account/Plans</td>
<td class='page-url'>
<div class="gh-portal-page-url-container">
<div class="page-url-label">
{{#if isLink}}
<span class="page-url-disabled">{{this.siteUrl}}/</span><span>#/portal/account/plans</span>
{{else}}
data-portal="account/plans"
{{/if}}
</div>
<button type="button" {{action (perform this.copyStaticLink "account/plans")}} class="gh-portal-setting-copy">
{{#if (and this.copyStaticLink.isRunning (eq this.copiedPrice "account/plans"))}}
{{svg-jar "check-circle" class="w3 v-mid mr2 stroke-darkgrey"}} Copied
{{else}}
<span data-tooltip="Copy">{{svg-jar "copy" class="w4 v-mid fill-darkgrey"}}</span>
{{/if}}
</button>
</div>
</td>
</tr>
<tr>
<td class='pagename'>Account/Profile</td>
<td class='page-url'>
<div class="gh-portal-page-url-container">
<div class="page-url-label">
{{#if isLink}}
<span class="page-url-disabled">{{this.siteUrl}}/</span><span>#/portal/account/profile</span>
{{else}}
data-portal="account/profile"
{{/if}}
</div>
<button type="button" {{action (perform this.copyStaticLink "account/profile")}} class="gh-portal-setting-copy">
{{#if (and this.copyStaticLink.isRunning (eq this.copiedPrice "account/profile"))}}
{{svg-jar "check-circle" class="w3 v-mid mr2 stroke-darkgrey"}} Copied
{{else}}
<span data-tooltip="Copy">{{svg-jar "copy" class="w4 v-mid fill-darkgrey"}}</span>
{{/if}}
</button>
</div>
</td>
</tr>
</table>
</div>
</div>