WIP Octanify the templates
This commit is contained in:
@@ -1,11 +1,11 @@
|
|||||||
<form {{action "submit" on="submit"}}>
|
<form {{on "submit" this.submit}}>
|
||||||
<label>
|
<label>
|
||||||
<p class="label">Contributor:</p>
|
<p class="label">Contributor:</p>
|
||||||
<p>
|
<p>
|
||||||
<select required onchange={{action (mut contributorId) value="target.value"}}>
|
<select required onchange={{action (mut this.contributorId) value="target.value"}}>
|
||||||
<option value="" selected disabled hidden></option>
|
<option value="" selected disabled hidden></option>
|
||||||
{{#each contributors as |contributor|}}
|
{{#each @contributors as |contributor|}}
|
||||||
<option value={{contributor.id}} selected={{eq contributorId contributor.id}}>{{contributor.name}}</option>
|
<option value={{contributor.id}} selected={{eq this.contributorId contributor.id}}>{{contributor.name}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</select>
|
</select>
|
||||||
</p>
|
</p>
|
||||||
@@ -13,14 +13,14 @@
|
|||||||
<label>
|
<label>
|
||||||
<p class="label">Kind:</p>
|
<p class="label">Kind:</p>
|
||||||
<p>
|
<p>
|
||||||
<select required onchange={{action (mut kind) value="target.value"}}>
|
<select required onchange={{action (mut this.kind) value="target.value"}}>
|
||||||
<option value="" selected disabled hidden></option>
|
<option value="" selected disabled hidden></option>
|
||||||
<option value="community" selected={{eq kind "community"}}>Community</option>
|
<option value="community" selected={{eq this.kind "community"}}>Community</option>
|
||||||
<option value="design" selected={{eq kind "design"}}>Design</option>
|
<option value="design" selected={{eq this.kind "design"}}>Design</option>
|
||||||
<option value="dev" selected={{eq kind "dev"}}>Development</option>
|
<option value="dev" selected={{eq this.kind "dev"}}>Development</option>
|
||||||
<option value="docs" selected={{eq kind "docs"}}>Documentation</option>
|
<option value="docs" selected={{eq this.kind "docs"}}>Documentation</option>
|
||||||
<option value="ops" selected={{eq kind "ops"}}>IT Operations</option>
|
<option value="ops" selected={{eq this.kind "ops"}}>IT Operations</option>
|
||||||
<option value="special" selected={{eq kind "special"}}>Special</option>
|
<option value="special" selected={{eq this.kind "special"}}>Special</option>
|
||||||
</select>
|
</select>
|
||||||
</p>
|
</p>
|
||||||
</label>
|
</label>
|
||||||
@@ -28,12 +28,12 @@
|
|||||||
<p class="label">Date:</p>
|
<p class="label">Date:</p>
|
||||||
<p>
|
<p>
|
||||||
{{ember-flatpickr
|
{{ember-flatpickr
|
||||||
date=date
|
date=this.date
|
||||||
defaultDate=defaultDate
|
defaultDate=this.defaultDate
|
||||||
maxDate=defaultDate
|
maxDate=this.defaultDate
|
||||||
enableTime=true
|
enableTime=true
|
||||||
time_24hr=true
|
time_24hr=true
|
||||||
onChange=(action (mut date))
|
onChange=(action (mut this.date))
|
||||||
}}
|
}}
|
||||||
</p>
|
</p>
|
||||||
</label>
|
</label>
|
||||||
@@ -42,33 +42,33 @@
|
|||||||
<p>
|
<p>
|
||||||
{{input type="text"
|
{{input type="text"
|
||||||
placeholder="500"
|
placeholder="500"
|
||||||
value=amount
|
value=this.amount
|
||||||
class=(if isValidAmount "valid" "")}}
|
class=(if this.isValidAmount "valid" "")}}
|
||||||
</p>
|
</p>
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<p class="label">Description:</p>
|
<p class="label">Description:</p>
|
||||||
<p>
|
<p>
|
||||||
{{input type="text"
|
{{input type="text"
|
||||||
value=description
|
value=this.description
|
||||||
class=(if isValidDescription "valid" "")}}
|
class=(if this.isValidDescription "valid" "")}}
|
||||||
</p>
|
</p>
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
<p class="label">URL (optional):</p>
|
<p class="label">URL (optional):</p>
|
||||||
<p>
|
<p>
|
||||||
{{input type="text"
|
{{input type="text"
|
||||||
value=url
|
value=this.url
|
||||||
class=(if isValidUrl "valid" "")}}
|
class=(if this.isValidUrl "valid" "")}}
|
||||||
</p>
|
</p>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
{{#if details}}
|
{{#if this.details}}
|
||||||
<label>
|
<label>
|
||||||
<p class="label">Details:</p>
|
<p class="label">Details:</p>
|
||||||
<p>
|
<p>
|
||||||
<pre>
|
<pre>
|
||||||
{{details}}
|
{{this.details}}
|
||||||
</pre>
|
</pre>
|
||||||
</p>
|
</p>
|
||||||
</label>
|
</label>
|
||||||
@@ -76,8 +76,8 @@
|
|||||||
|
|
||||||
<p class="actions">
|
<p class="actions">
|
||||||
{{input type="submit"
|
{{input type="submit"
|
||||||
disabled=inProgress
|
disabled=this.inProgress
|
||||||
value=(if inProgress "Processing" "Save")}}
|
value=(if this.inProgress "Processing" "Save")}}
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|||||||
@@ -1,55 +1,55 @@
|
|||||||
<form {{action "submit" on="submit"}}>
|
<form {{on "submit" this.submit}}>
|
||||||
<p>
|
<p>
|
||||||
<label for="c-account">Ethereum account</label>
|
<label for="c-account">Ethereum account</label>
|
||||||
{{input name="account" id="c-account"
|
<Input @name="account" @id="c-account"
|
||||||
type="text" value=account
|
@type="text" value={{this.account}}
|
||||||
placeholder="0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4"
|
@placeholder="0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4"
|
||||||
class=(if isValidAccount "valid" "")}}
|
@class={{if this.isValidAccount "valid" ""}} />
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="c-kind">Kind</label>
|
<label for="c-kind">Kind</label>
|
||||||
<select required onchange={{action (mut kind) value="target.value"}} id="c-kind">
|
<select required onchange={{action (mut this.kind) value="target.value"}} id="c-kind">
|
||||||
<option value="person" selected={{eq kind "person"}}>Person</option>
|
<option value="person" selected={{eq this.kind "person"}}>Person</option>
|
||||||
<option value="organization" selected={{eq kind "organization"}}>Organization</option>
|
<option value="organization" selected={{eq this.kind "organization"}}>Organization</option>
|
||||||
</select>
|
</select>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="c-name">Name</label>
|
<label for="c-name">Name</label>
|
||||||
{{input name="name" type="text" value=name placeholder="Zero Cool"
|
{{input name="name" type="text" value=this.name placeholder="Zero Cool"
|
||||||
class=(if isValidName "valid" "") id="c-name"}}
|
class=(if this.isValidName "valid" "") id="c-name"}}
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="c-url">URL</label>
|
<label for="c-url">URL</label>
|
||||||
{{input name="url" type="text" value=url placeholder="http://zerocool.bit"
|
{{input name="url" type="text" value=this.url placeholder="http://zerocool.bit"
|
||||||
class=(if isValidURL "valid" "") id="c-url"}}
|
class=(if this.isValidURL "valid" "") id="c-url"}}
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="c-github-uid">GitHub UID</label>
|
<label for="c-github-uid">GitHub UID</label>
|
||||||
{{input name="github_uid" type="text" value=github_uid placeholder="2342"
|
{{input name="github_uid" type="text" value=this.github_uid placeholder="2342"
|
||||||
class=(if isValidGithubUID "valid" "") id="c-github-uid"}}
|
class=(if this.isValidGithubUID "valid" "") id="c-github-uid"}}
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="c-github-username">GitHub username</label>
|
<label for="c-github-username">GitHub username</label>
|
||||||
{{input name="github_username" type="text" value=github_username placeholder="zerocool"
|
{{input name="github_username" type="text" value=this.github_username placeholder="zerocool"
|
||||||
class=(if isValidGithubUsername "valid" "") id="c-github-username"}}
|
class=(if this.isValidGithubUsername "valid" "") id="c-github-username"}}
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="c-gitea-username">Gitea username</label>
|
<label for="c-gitea-username">Gitea username</label>
|
||||||
{{input name="gitea_username" type="text" value=gitea_username placeholder="zerocool"
|
{{input name="gitea_username" type="text" value=this.gitea_username placeholder="zerocool"
|
||||||
class=(if isValidGiteaUsername "valid" "") id="c-gitea-username"}}
|
class=(if this.isValidGiteaUsername "valid" "") id="c-gitea-username"}}
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="c-wiki-username">Wiki username</label>
|
<label for="c-wiki-username">Wiki username</label>
|
||||||
{{input name="wiki_username" type="text" value=wiki_username placeholder="ZeroCool"
|
{{input name="wiki_username" type="text" value=this.wiki_username placeholder="ZeroCool"
|
||||||
class=(if isValidWikiUsername "valid" "") id="c-wiki-username"}}
|
class=(if this.isValidWikiUsername "valid" "") id="c-wiki-username"}}
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<label for="c-zoom-display-name">Zoom display name</label>
|
<label for="c-zoom-display-name">Zoom display name</label>
|
||||||
{{input name="zoom_display_name" type="text" value=zoom_display_name placeholder="Zero Cool"
|
{{input name="zoom_display_name" type="text" value=this.zoom_display_name placeholder="Zero Cool"
|
||||||
class=(if isValidZoomDisplayName "valid" "") id="c-zoom-display-name"}}
|
class=(if this.isValidZoomDisplayName "valid" "") id="c-zoom-display-name"}}
|
||||||
</p>
|
</p>
|
||||||
<p class="actions">
|
<p class="actions">
|
||||||
{{input type="submit" disabled=inProgress
|
{{input type="submit" disabled=this.inProgress
|
||||||
value=(if inProgress "Processing" "Save")}}
|
value=(if this.inProgress "Processing" "Save")}}
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
<div class="chart">
|
<div class="chart">
|
||||||
{{ember-chart type="doughnut"
|
<EmberChart @type="doughnut"
|
||||||
data=chartData
|
@data={{this.chartData}}
|
||||||
options=chartOptions
|
@options={{this.chartOptions}}
|
||||||
width=200
|
@width="200" @height="200" />
|
||||||
height=200}}
|
|
||||||
</div>
|
</div>
|
||||||
@@ -1,28 +1,28 @@
|
|||||||
{{#if showQuickFilter}}
|
{{#if @showQuickFilter}}
|
||||||
<div class="quick-filter">
|
<div class="quick-filter">
|
||||||
<p>
|
<p>
|
||||||
<label class="filter-contributor">
|
<label class="filter-contributor">
|
||||||
Contributor:
|
Contributor:
|
||||||
<select onchange={{action (mut contributorId) value="target.value"}}>
|
<select onchange={{action (mut this.contributorId) value="target.value"}}>
|
||||||
<option value="" selected>all</option>
|
<option value="" selected>all</option>
|
||||||
{{#each contributorsActive as |contributor|}}
|
{{#each this.contributorsActive as |contributor|}}
|
||||||
<option value={{contributor.id}} selected={{eq contributorId contributor.id}}>{{contributor.name}}</option>
|
<option value={{contributor.id}} selected={{eq this.contributorId contributor.id}}>{{contributor.name}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<label class="filter-contribution-kind">
|
<label class="filter-contribution-kind">
|
||||||
Kind:
|
Kind:
|
||||||
<select onchange={{action (mut contributionKind) value="target.value"}}>
|
<select onchange={{action (mut this.contributionKind) value="target.value"}}>
|
||||||
<option value="" selected>all</option>
|
<option value="" selected>all</option>
|
||||||
{{#each contributionKinds as |kind|}}
|
{{#each this.contributionKinds as |kind|}}
|
||||||
<option value={{kind}} selected={{eq contributionKind kind}}>{{capitalize-string kind}}</option>
|
<option value={{kind}} selected={{eq this.contributionKind kind}}>{{capitalize-string kind}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<label class="filter-contribution-size">
|
<label class="filter-contribution-size">
|
||||||
{{input type="checkbox" checked=hideSmallContributions}}
|
<Input type="checkbox" @checked={{this.hideSmallContributions}} />
|
||||||
Hide small contributions
|
Hide small contributions
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
@@ -30,12 +30,12 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<ul class="contribution-list">
|
<ul class="contribution-list">
|
||||||
{{#each contributionsFiltered as |contribution|}}
|
{{#each this.contributionsFiltered as |contribution|}}
|
||||||
<li role="button" {{action "openContributionDetails" contribution}}
|
<li role="button" data-contribution-id={{contribution.id}}
|
||||||
data-contribution-id={{contribution.id}}
|
{{on "click" (fn this.openContributionDetails contribution)}}
|
||||||
class="{{contribution-status contribution}}{{if (eq contribution.id selectedContributionId) " selected"}}">
|
class="{{contribution-status contribution}}{{if (eq contribution.id @selectedContributionId) " selected"}}">
|
||||||
<p class="meta">
|
<p class="meta">
|
||||||
<span class="recipient">{{user-avatar contributor=contribution.contributor}}</span>
|
<span class="recipient"><UserAvatar @contributor={{contribution.contributor}} /></span>
|
||||||
<span class="category {{contribution.kind}}">({{contribution.kind}})</span>
|
<span class="category {{contribution.kind}}">({{contribution.kind}})</span>
|
||||||
<span class="title">{{contribution.description}}</span>
|
<span class="title">{{contribution.description}}</span>
|
||||||
</p>
|
</p>
|
||||||
@@ -45,10 +45,9 @@
|
|||||||
{{#unless contribution.vetoed}}
|
{{#unless contribution.vetoed}}
|
||||||
{{#unless (is-confirmed-contribution contribution)}}
|
{{#unless (is-confirmed-contribution contribution)}}
|
||||||
<p class="voting">
|
<p class="voting">
|
||||||
{{input type="button" class="button small danger"
|
<Input @type="button" @class="button small danger" @value="veto"
|
||||||
click=(action "veto" contribution.id)
|
@click={{fn this.veto contribution.id}}
|
||||||
disabled=contribution.hasPendingChanges
|
@disabled={{contribution.hasPendingChanges}} />
|
||||||
value="veto"}}
|
|
||||||
</p>
|
</p>
|
||||||
{{/unless}}
|
{{/unless}}
|
||||||
{{/unless}}
|
{{/unless}}
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{{#each contributorList as |c|}}
|
{{#each @contributorList as |c|}}
|
||||||
<tr role="button" {{action "openContributorDetails" c.contributor}}
|
<tr role="button"
|
||||||
class="{{if (is-current-user c.contributor) "current-user"}} {{if (eq c.contributor.id selectedContributorId) "selected"}}">
|
{{on "click" (fn this.openContributorDetails c.contributor)}}
|
||||||
|
class="{{if (is-current-user c.contributor) "current-user"}} {{if (eq c.contributor.id @selectedContributorId) "selected"}}">
|
||||||
<td class="person">
|
<td class="person">
|
||||||
{{user-avatar contributor=c.contributor}} {{c.contributor.name}}
|
<UserAvatar @contributor={{c.contributor}} /> {{c.contributor.name}}
|
||||||
</td>
|
</td>
|
||||||
<td class="kredits">
|
<td class="kredits">
|
||||||
<span class="amount">
|
<span class="amount">
|
||||||
{{#if showUnconfirmedKredits}}
|
{{#if @showUnconfirmedKredits}}
|
||||||
{{c.amountTotal}}
|
{{c.amountTotal}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{c.amountConfirmed}}
|
{{c.amountConfirmed}}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<a href={{account.url}} target="_blank" rel="noopener" title="{{account.username}} on {{account.site}}">
|
<a href={{this.account.url}} target="_blank" rel="noopener noreferrer" title="{{this.account.username}} on {{this.account.site}}">
|
||||||
<span class="site">{{account.site}}</span>
|
<span class="site">{{this.account.site}}</span>
|
||||||
{{component iconComponentName}}
|
{{component this.iconComponentName}}
|
||||||
</a>
|
</a>
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
<section id="user-account">
|
<section id="user-account">
|
||||||
{{#if setupInProgress}}
|
{{#if this.setupInProgress}}
|
||||||
Connecting account...
|
Connecting account...
|
||||||
{{else}}
|
{{else}}
|
||||||
{{#if (and kredits.hasAccounts kredits.currentUser)}}
|
{{#if (and this.kredits.hasAccounts this.kredits.currentUser)}}
|
||||||
{{kredits.currentUser.name}}
|
{{this.kredits.currentUser.name}}
|
||||||
{{#if kredits.currentUserIsCore}}
|
{{#if this.kredits.currentUserIsCore}}
|
||||||
<span class="core-flag">(core)</span>
|
<span class="core-flag">(core)</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<span class="anonymous">Anonymous</span>
|
<span class="anonymous">Anonymous</span>
|
||||||
<button {{action "signup"}} class="small">Sign up</button>
|
<button {{on "click" this.signup}} class="small" type="button">Sign up</button>
|
||||||
{{#if showConnectButton}}
|
{{#if this.showConnectButton}}
|
||||||
<button {{action "connectAccount"}} class="small green">Connect account</button>
|
<button {{on "click" this.connectAccount}} class="small green" type="button">Connect account</button>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|||||||
@@ -6,7 +6,9 @@
|
|||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<AddContribution @contributors={{sortedContributors}} @attributes={{model.params}} @save={{action "save"}} />
|
<AddContribution @contributors={{this.sortedContributors}}
|
||||||
|
@attributes={{this.model.params}}
|
||||||
|
@save={{action "save"}} />
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,13 @@
|
|||||||
|
|
||||||
<section id="add-contribution">
|
<section id="add-contribution">
|
||||||
<header>
|
<header>
|
||||||
<h2>Re-submit contribution #{{model.id}}</h2>
|
<h2>Re-submit contribution #{{this.model.id}}</h2>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<AddContribution @attributes={{attributes}} @contributors={{sortedContributors}} @save={{action "save"}} />
|
<AddContribution @attributes={{this.attributes}}
|
||||||
|
@contributors={{this.sortedContributors}}
|
||||||
|
@save={{action "save"}} />
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<AddContributor @attributes={{attributes}} @save={{action "save"}} />
|
<AddContributor @attributes={{this.attributes}} @save={{action "save"}} />
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
+38
-18
@@ -1,40 +1,43 @@
|
|||||||
{{#if showIntroText}}
|
{{#if this.showIntroText}}
|
||||||
<div id="intro" class={{if showDetailsPane "with-details"}}>
|
<div id="intro" class={{if this.showDetailsPane "with-details"}}>
|
||||||
<h2>
|
<h2>
|
||||||
Welcome to the contribution dashboard of the
|
Welcome to the contribution dashboard of the
|
||||||
<a href="https://kosmos.org" target="_blank" rel="noopener">Kosmos</a> project!
|
<a href="https://kosmos.org" target="_blank" rel="noreferrer noopener">Kosmos</a> project!
|
||||||
</h2>
|
</h2>
|
||||||
<p>
|
<p>
|
||||||
If you want to learn more about what the numbers mean and how this works,
|
If you want to learn more about what the numbers mean and how this works,
|
||||||
check out the
|
check out the
|
||||||
<a href="https://wiki.kosmos.org/Kredits" target="_blank" rel="noopener">Kredits documentation</a>.
|
<a href="https://wiki.kosmos.org/Kredits" target="_blank" rel="noreferrer noopener">Kredits documentation</a>.
|
||||||
If you want to start earning kredits for your contributions,
|
If you want to start earning kredits for your contributions,
|
||||||
<LinkTo @route="signup">create a contributor profile</LinkTo>.
|
<LinkTo @route="signup">create a contributor profile</LinkTo>.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<main id="dashboard" class={{if showDetailsPane "with-details"}}>
|
<main id="dashboard" class={{if this.showDetailsPane "with-details"}}>
|
||||||
|
|
||||||
<div id="stats">
|
<div id="stats">
|
||||||
<section id="people">
|
<section id="people">
|
||||||
<header class="with-nav">
|
<header class="with-nav">
|
||||||
<h2>Contributors</h2>
|
<h2>Contributors</h2>
|
||||||
{{#if kredits.hasAccounts}}
|
{{#if this.kredits.hasAccounts}}
|
||||||
<nav>
|
<nav>
|
||||||
<LinkTo @route="contributors.new" @title="Add contributor profile" class="button small green">add</LinkTo>
|
<LinkTo @route="contributors.new" @title="Add contributor profile" class="button small green">add</LinkTo>
|
||||||
</nav>
|
</nav>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</header>
|
</header>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<ContributorList @contributorList={{kreditsToplist}} @showUnconfirmedKredits={{showUnconfirmedKredits}} @selectedContributorId={{selectedContributorId}} />
|
<ContributorList @contributorList={{this.kreditsToplist}}
|
||||||
|
@showUnconfirmedKredits={{this.showUnconfirmedKredits}}
|
||||||
|
@selectedContributorId={{this.selectedContributorId}} />
|
||||||
|
|
||||||
<p class="stats">
|
<p class="stats">
|
||||||
<span class="number">{{await kredits.totalKreditsEarned}}</span> kredits confirmed and issued to
|
<span class="number">{{await this.kredits.totalKreditsEarned}}</span> kredits confirmed and issued to
|
||||||
<span class="number">{{contributorsWithKredits.length}}</span> contributors
|
<span class="number">{{this.contributorsWithKredits.length}}</span> contributors
|
||||||
</p>
|
</p>
|
||||||
<p class="stats">
|
<p class="stats">
|
||||||
<Input @type="checkbox" @id="hide-unnconfirmed-kredits" @checked={{showUnconfirmedKredits}} />
|
<Input @type="checkbox" @id="hide-unnconfirmed-kredits"
|
||||||
|
@checked={{this.showUnconfirmedKredits}} />
|
||||||
<label for="hide-unnconfirmed-kredits">Show unconfirmed kredits in toplist</label>
|
<label for="hide-unnconfirmed-kredits">Show unconfirmed kredits in toplist</label>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -45,26 +48,36 @@
|
|||||||
<h2>Contributions by type</h2>
|
<h2>Contributions by type</h2>
|
||||||
</header>
|
</header>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<ChartContributionsByType @contributions={{contributions}} />
|
<ChartContributionsByType @contributions={{this.contributions}} />
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="contributions">
|
<div id="contributions">
|
||||||
{{#if contributionsUnconfirmed}}
|
{{#if this.contributionsUnconfirmed}}
|
||||||
<section id="contributions-unconfirmed">
|
<section id="contributions-unconfirmed">
|
||||||
<header class="with-nav">
|
<header class="with-nav">
|
||||||
<h2>Latest Contributions</h2>
|
<h2>Latest Contributions</h2>
|
||||||
<nav>
|
<nav>
|
||||||
<button {{action "toggleQuickFilterUnconfirmed"}} class="small {{if showQuickFilterUnconfirmed "active"}}">filter</button>
|
<button type="button"
|
||||||
{{#if kredits.hasAccounts}}
|
onclick={{action "toggleQuickFilterUnconfirmed"}}
|
||||||
<LinkTo @route="contributions.new" @title="Submit a contribution" class="button small green">add</LinkTo>
|
class="small {{if this.showQuickFilterUnconfirmed "active"}}">
|
||||||
|
filter
|
||||||
|
</button>
|
||||||
|
{{#if this.kredits.hasAccounts}}
|
||||||
|
<LinkTo @route="contributions.new"
|
||||||
|
@title="Submit a contribution"
|
||||||
|
class="button small green">add</LinkTo>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</nav>
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
{{!-- TODO: We need a better naming for kredits.hasAccounts --}}
|
{{!-- TODO: We need a better naming for kredits.hasAccounts --}}
|
||||||
<ContributionList @contributions={{contributionsUnconfirmedSorted}} @vetoContribution={{action "vetoContribution"}} @contractInteractionEnabled={{kredits.hasAccounts}} @selectedContributionId={{selectedContributionId}} @showQuickFilter={{showQuickFilterUnconfirmed}} />
|
<ContributionList @contributions={{this.contributionsUnconfirmedSorted}}
|
||||||
|
@vetoContribution={{action "vetoContribution"}}
|
||||||
|
@contractInteractionEnabled={{this.kredits.hasAccounts}}
|
||||||
|
@selectedContributionId={{this.selectedContributionId}}
|
||||||
|
@showQuickFilter={{this.showQuickFilterUnconfirmed}} />
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
@@ -73,11 +86,18 @@
|
|||||||
<header class="with-nav">
|
<header class="with-nav">
|
||||||
<h2>Confirmed Contributions</h2>
|
<h2>Confirmed Contributions</h2>
|
||||||
<nav>
|
<nav>
|
||||||
<button {{action "toggleQuickFilterConfirmed"}} class="small {{if showQuickFilterConfirmed "active"}}">filter</button>
|
<button type="button"
|
||||||
|
onclick={{action "toggleQuickFilterConfirmed"}}
|
||||||
|
class="small {{if this.showQuickFilterConfirmed "active"}}">
|
||||||
|
filter
|
||||||
|
</button>
|
||||||
</nav>
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<ContributionList @contributions={{contributionsConfirmedSorted}} @vetoContribution={{action "vetoContribution"}} @selectedContributionId={{selectedContributionId}} @showQuickFilter={{showQuickFilterConfirmed}} />
|
<ContributionList @contributions={{this.contributionsConfirmedSorted}}
|
||||||
|
@vetoContribution={{action "vetoContribution"}}
|
||||||
|
@selectedContributionId={{this.selectedContributionId}}
|
||||||
|
@showQuickFilter={{this.showQuickFilterConfirmed}} />
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<section id="contribution-details" class={{if model.vetoed "vetoed"}}>
|
<section id="contribution-details" class={{if this.model.vetoed "vetoed"}}>
|
||||||
<header class="with-nav">
|
<header class="with-nav">
|
||||||
<h2>Contribution #{{model.id}}</h2>
|
<h2>Contribution #{{this.model.id}}</h2>
|
||||||
<nav>
|
<nav>
|
||||||
<span class="amount">{{model.amount}}</span>
|
<span class="amount">{{this.model.amount}}</span>
|
||||||
<span class="symbol">₭S</span>
|
<span class="symbol">₭S</span>
|
||||||
</nav>
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
@@ -10,29 +10,29 @@
|
|||||||
<div class="content">
|
<div class="content">
|
||||||
<p class="who-what-when">
|
<p class="who-what-when">
|
||||||
<span class="contributor">
|
<span class="contributor">
|
||||||
<UserAvatar @contributor={{model.contributor}} />
|
<UserAvatar @contributor={{this.model.contributor}} />
|
||||||
<LinkTo @route="dashboard.contributors.show" @model={{model.contributor}}>{{model.contributor.name}}</LinkTo>
|
<LinkTo @route="dashboard.contributors.show" @model={{this.model.contributor}}>{{this.model.contributor.name}}</LinkTo>
|
||||||
</span>
|
</span>
|
||||||
contributed
|
contributed
|
||||||
<span class="date" title={{model.iso8601Date}}>{{moment-from model.iso8601Date}}</span>:
|
<span class="date" title={{this.model.iso8601Date}}>{{moment-from this.model.iso8601Date}}</span>:
|
||||||
</p>
|
</p>
|
||||||
<h3>{{model.description}}</h3>
|
<h3>{{this.model.description}}</h3>
|
||||||
<p>
|
<p>
|
||||||
Kind: {{model.kind}}
|
Kind: {{this.model.kind}}
|
||||||
<br>Status: {{contribution-status model}}
|
<br>Status: {{contribution-status this.model}}
|
||||||
</p>
|
</p>
|
||||||
{{#if model.url}}
|
{{#if this.model.url}}
|
||||||
<p>
|
<p>
|
||||||
<a href={{model.url}}
|
<a href={{this.model.url}}
|
||||||
title={{model.description}}
|
title={{this.model.description}}
|
||||||
class="button"
|
class="button"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener">
|
rel="noopener noreferrer">
|
||||||
Open URL
|
Open URL
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if model.vetoed}}
|
{{#if this.model.vetoed}}
|
||||||
<div class="hint vetoed">
|
<div class="hint vetoed">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<IconWarning />
|
<IconWarning />
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
kredits will be issued.
|
kredits will be issued.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<LinkTo @route="contributions.resubmit" @model={{model}} class="button small green">Re-submit contribution …</LinkTo>
|
<LinkTo @route="contributions.resubmit" @model={{this.model}} class="button small green">Re-submit contribution …</LinkTo>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
@@ -50,10 +50,10 @@
|
|||||||
|
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<p>
|
<p>
|
||||||
<LinkTo @route="contributions.resubmit" @model={{model}} class="button small">Copy & edit as new</LinkTo>
|
<LinkTo @route="contributions.resubmit" @model={{this.model}} class="button small">Copy & edit as new</LinkTo>
|
||||||
{{#if model.ipfsHash}}
|
{{#if this.model.ipfsHash}}
|
||||||
<a href="{{ipfsGatewayUrl}}/{{model.ipfsHash}}"
|
<a href="{{this.ipfsGatewayUrl}}/{{this.model.ipfsHash}}"
|
||||||
class="button small" target="_blank" rel="noopener">
|
class="button small" target="_blank" rel="noopener noreferrer">
|
||||||
Inspect IPFS data
|
Inspect IPFS data
|
||||||
</a>
|
</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
<section id="contributor-profile">
|
<section id="contributor-profile">
|
||||||
<header>
|
<header>
|
||||||
<UserAvatar @contributor={{model}} @size="medium" />
|
<UserAvatar @contributor={{this.model}} @size="medium" />
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h2>{{model.name}}</h2>
|
<h2>{{this.model.name}}</h2>
|
||||||
<p class="role">{{roleName}}</p>
|
<p class="role">{{this.roleName}}</p>
|
||||||
|
|
||||||
<ul class="external-accounts">
|
<ul class="external-accounts">
|
||||||
{{#each model.accounts as |account|}}
|
{{#each this.model.accounts as |account|}}
|
||||||
<li>
|
<li>
|
||||||
<ExternalAccountLink @account={{account}} />
|
<ExternalAccountLink @account={{this.account}} />
|
||||||
</li>
|
</li>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
{{#if model.url}}
|
{{#if this.model.url}}
|
||||||
<li>
|
<li>
|
||||||
<a href={{model.url}} target="_blank" rel="noopener" title="Website">
|
<a href={{this.model.url}} target="_blank" rel="noopener noreferrer" title="Website">
|
||||||
<span class="site">Web</span>
|
<span class="site">Web</span>
|
||||||
<IconWebGlobe />
|
<IconWebGlobe />
|
||||||
</a>
|
</a>
|
||||||
@@ -24,18 +24,18 @@
|
|||||||
</ul>
|
</ul>
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<p>
|
<p>
|
||||||
<LinkTo @route="contributions.new" @query={{hash contributorId=model.id}} class="button green">♥ Give kredits</LinkTo>
|
<LinkTo @route="contributions.new" @query={{hash contributorId=this.model.id}} class="button green">♥ Give kredits</LinkTo>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<p>
|
<p>
|
||||||
<a href="https://rinkeby.etherscan.io/address/{{model.account}}" class="button small" target="_blank" rel="noopener">Inspect Ethereum transactions</a>
|
<a href="https://rinkeby.etherscan.io/address/{{this.model.account}}" class="button small" target="_blank" rel="noopener noreferrer">Inspect Ethereum transactions</a>
|
||||||
{{#if model.ipfsHash}}
|
{{#if this.model.ipfsHash}}
|
||||||
<a href="{{ipfsGatewayUrl}}/{{model.ipfsHash}}" class="button small" target="_blank" rel="noopener">Inspect IPFS profile</a>
|
<a href="{{this.ipfsGatewayUrl}}/{{this.model.ipfsHash}}" class="button small" target="_blank" rel="noopener noreferrer">Inspect IPFS profile</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<LinkTo @route="contributors.edit" @model={{model}} class="button small">Edit profile</LinkTo>
|
<LinkTo @route="contributors.edit" @model={{this.model}} class="button small">Edit profile</LinkTo>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -6,17 +6,18 @@
|
|||||||
Kredits allow you to take part in project governance, and to earn rewards for
|
Kredits allow you to take part in project governance, and to earn rewards for
|
||||||
your contributions. For both, you will need an Ethereum wallet/account.
|
your contributions. For both, you will need an Ethereum wallet/account.
|
||||||
</p>
|
</p>
|
||||||
<form {{action "submit" on="submit"}}>
|
<form>
|
||||||
<p>
|
<p>
|
||||||
<label>
|
<label>
|
||||||
Ethereum account:<br>
|
Ethereum account:<br>
|
||||||
<Input @type="text" @value={{ethAddress}} placeholder="0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4" class={{if isValidEthAccount "valid" ""}} />
|
<Input @type="text" @value={{this.ethAddress}} placeholder="0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4" class={{if this.isValidEthAccount "valid" ""}} />
|
||||||
</label>
|
</label>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
<p class="actions">
|
<p class="actions">
|
||||||
<button disabled={{signupButtonDisabled}}
|
<button disabled={{this.signupButtonDisabled}}
|
||||||
{{action "completeSignup"}}>
|
{{on "click" this.completeSignup}}
|
||||||
|
type="button">
|
||||||
Complete my profile
|
Complete my profile
|
||||||
</button>
|
</button>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
connecting one of the following accounts:
|
connecting one of the following accounts:
|
||||||
</p>
|
</p>
|
||||||
<p class="actions">
|
<p class="actions">
|
||||||
<button {{action "connectGithub"}} class="icon">
|
<button {{on "click" this.connectGithub}} class="icon" type="button">
|
||||||
<IconAccountGithubCom />
|
<IconAccountGithubCom />
|
||||||
Connect GitHub
|
Connect GitHub
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
Reference in New Issue
Block a user