diff --git a/assets/kredits-web-720c8ac7239a1d64c50ac3db17ffcb4d.css b/assets/kredits-web-720c8ac7239a1d64c50ac3db17ffcb4d.css new file mode 100644 index 0000000..96e95ee --- /dev/null +++ b/assets/kredits-web-720c8ac7239a1d64c50ac3db17ffcb4d.css @@ -0,0 +1 @@ +body,button,h1,h2,h3,h4,h5,input{font-family:"Open Sans",sans-serif;font-weight:300}*{margin:0;padding:0}:active,:focus,:hover{outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-tap-highlight-color:transparent}html{box-sizing:border-box}*,::after,::before{box-sizing:inherit}section{max-width:41.66667em;margin-left:auto;margin-right:auto;margin-bottom:8rem}section::after{clear:both;content:"";display:block}section:first-of-type{margin-top:6rem}section header{float:left;display:block;margin-right:2.35765%;width:100%;padding-bottom:3rem;text-align:center}section header:last-child{margin-right:0}@media screen and (max-width:600px){section{margin-bottom:5rem}section:first-of-type{margin-top:2rem}section header{float:left;display:block;margin-right:2.35765%;width:82.94039%;margin-left:8.5298%;padding-bottom:2rem}section header:last-child{margin-right:0}}section header div.content{float:left;display:block;margin-right:2.35765%;width:100%}section header div.content:last-child{margin-right:0}body{background-image:url(/img/bg-947d3bf6bb15a1a3b07afcba4c307690.jpg);background-repeat:none;background-attachment:fixed;font-size:16px;color:#fff}@media screen and (min-width:900px){body{background-size:cover}}button,h1,h2,h3,h4,h5,input{font-size:1rem}section h2{font-size:2.8rem;color:#add8e6}@media screen and (max-width:600px){section h2{font-size:2rem}}section#contributors .content p.stats{padding-top:3rem;font-size:1rem;color:#add8e6;text-align:center}.loading-spinner,table.contributor-list tr td.kredits .amount{font-size:1.4rem}section#contributors .content p.stats span.number{font-weight:600}button,input[type=submit],ul.proposal-list li .amount,ul.proposal-list li .recipient{font-weight:500}button,input[type=submit]{display:inline-block;border:1px solid #161528;background-color:rgba(22,21,40,.6);color:#add8e6;border-radius:3px;text-transform:uppercase;cursor:pointer;letter-spacing:.1em}button:hover,input[type=submit]:hover{background-color:rgba(22,21,40,.8)}@keyframes pulse{from{opacity:.1}to{opacity:.6}}.loading-spinner{margin-top:12rem;text-align:center;color:#add8e6}@media screen and (max-width:600px){section#contributors .content p.stats{padding-top:2rem}.loading-spinner{margin-top:6rem}}.loading-spinner svg{width:200px;height:200px;margin-bottom:2rem}.loading-spinner svg #path-comet{fill:#add8e6;opacity:.1;animation-name:pulse;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-direction:alternate;animation-duration:1s}table.contributor-list{width:100%;border-collapse:collapse}table.contributor-list tr{border-bottom:1px solid rgba(255,255,255,.2)}table.contributor-list tr:first-of-type{border-top:1px solid rgba(255,255,255,.2)}table.contributor-list tr td{padding:0 1.2rem;line-height:4.2rem;background-color:rgba(255,255,255,.1)}table.contributor-list tr td.person{text-align:left;font-size:1.4rem}table.contributor-list tr td.person img.avatar{width:2rem;height:2rem;vertical-align:middle;margin-right:.2rem;border-radius:1rem}table.contributor-list tr td.kredits{text-align:right}table.contributor-list tr td.kredits .symbol{font-size:1rem;padding-left:.2rem}table.contributor-list tr.current-user td{background-color:rgba(255,255,255,.2)}section#add-contributor form p{margin-bottom:1rem}section#add-contributor form p.actions{padding-top:1rem;text-align:center}section#add-contributor form input[type=text]{width:100%;padding:1rem;border:none;border-bottom:1px solid rgba(255,255,255,.2);background-color:rgba(22,21,40,.3);color:#fff;font-size:1.2rem}section#add-contributor form input[type=text].valid,section#add-contributor form input[type=text]:focus{background-color:rgba(22,21,40,.6)}section#add-contributor form input[type=submit]{padding:.6rem 2rem}section#add-contributor form input[type=submit]:disabled{background-color:transparent}ul.proposal-list{clear:both;width:100%;list-style:none}ul.proposal-list li{padding:0 1.2rem;line-height:4.2rem;background-color:rgba(255,255,255,.1);font-size:1.4rem;border-bottom:1px solid rgba(255,255,255,.2)}ul.proposal-list li:first-of-type{border-top:1px solid rgba(255,255,255,.2)}ul.proposal-list li .id{color:#add8e6;padding-right:.2rem}ul.proposal-list li .symbol{font-size:1rem;font-weight:500;padding-left:.2rem}ul.proposal-list li .votes{font-size:1rem;color:#add8e6;padding-left:1rem}ul.proposal-list li button{float:right;margin-top:1.1rem;height:2rem;line-height:2rem;padding:0 .6rem} \ No newline at end of file diff --git a/assets/kredits-web-a55eee8b20391902de12835cdf027d78.js b/assets/kredits-web-a55eee8b20391902de12835cdf027d78.js new file mode 100644 index 0000000..a063521 --- /dev/null +++ b/assets/kredits-web-a55eee8b20391902de12835cdf027d78.js @@ -0,0 +1 @@ +"use strict";define("kredits-web/app",["exports","ember","kredits-web/resolver","ember-load-initializers","kredits-web/config/environment"],function(e,t,n,s,o){var r=void 0;t.default.MODEL_FACTORY_INJECTIONS=!0,r=t.default.Application.extend({modulePrefix:o.default.modulePrefix,podModulePrefix:o.default.podModulePrefix,Resolver:n.default}),(0,s.default)(r,o.default.modulePrefix),e.default=r}),define("kredits-web/components/add-contributor/component",["exports","ember"],function(e,t){e.default=t.default.Component.extend({id:null,realName:null,address:null,ipfsHash:null,isCore:!0,inProgress:!1,isValidId:function(){return t.default.isPresent(this.get("id"))}.property("id"),isValidRealName:function(){return t.default.isPresent(this.get("realName"))}.property("realName"),isValidAddress:function(){return this.get("kredits.web3Instance").isAddress(this.get("address"))}.property("address"),isValid:function(){return this.get("isValidId")&&this.get("isValidRealName")&&this.get("isValidAddress")}.property("isValidAddress","isValidId","isValidRealName"),reset:function(){this.setProperties({id:null,realName:null,address:null,ipfsHash:null,isCore:!0,inProgress:!1})},actions:{save:function(){var e=this;return this.get("contractInteractionEnabled")?void(this.get("isValid")?(this.set("inProgress",!0),this.get("kredits").addContributor(this.get("address"),this.get("realName"),"",this.get("isCore"),this.get("id")).then(function(t){e.reset(),e.get("contributors").pushObject(t),window.scroll(0,0)})):alert("Invalid data. Please review and try again.")):void alert("Only core team members can add new contributors. Please ask someone to set you up.")}}})}),define("kredits-web/components/add-contributor/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"/k9OiFIM",block:'{"statements":[["open-element","form",[]],["modifier",["action"],[["get",[null]],"save"],[["on"],["submit"]]],["flush-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["name","type","placeholder","value","class"],["id","text","GitHub UID (123)",["get",["id"]],["helper",["if"],[["get",["isValidId"]],"valid",""],null]]]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["name","type","placeholder","value","class"],["realname","text","Carl Sagan",["get",["realName"]],["helper",["if"],[["get",["isValidRealName"]],"valid",""],null]]]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["name","type","placeholder","value","class"],["address","text","0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4",["get",["address"]],["helper",["if"],[["get",["isValidAddress"]],"valid",""],null]]]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","p",[]],["static-attr","class","actions"],["flush-element"],["text","\\n "],["append",["helper",["input"],null,[["type","value","disabled"],["submit",["helper",["if"],[["get",["inProgress"]],"Processing","Save"],null],["get",["inProgress"]]]]],false],["text","\\n "],["close-element"],["text","\\n"],["close-element"],["text","\\n"]],"locals":[],"named":[],"yields":[],"blocks":[],"hasPartials":false}',meta:{moduleName:"kredits-web/components/add-contributor/template.hbs"}})}),define("kredits-web/components/contributor-list/component",["exports","ember"],function(e,t){e.default=t.default.Component.extend({tagName:"table",classNames:"contributor-list"})}),define("kredits-web/components/contributor-list/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"K8OMz7QI",block:'{"statements":[["open-element","tbody",[]],["flush-element"],["text","\\n"],["block",["each"],[["get",["contributors"]]],null,0],["close-element"],["text","\\n"]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["text"," "],["open-element","tr",[]],["dynamic-attr","class",["concat",[["helper",["if"],[["get",["contributor","isCurrentUser"]],"current-user"],null]]]],["flush-element"],["text","\\n "],["open-element","td",[]],["static-attr","class","person"],["flush-element"],["text","\\n "],["open-element","img",[]],["static-attr","class","avatar"],["dynamic-attr","src",["unknown",["contributor","avatarURL"]],null],["flush-element"],["close-element"],["text","\\n "],["append",["unknown",["contributor","github_username"]],false],["text","\\n "],["close-element"],["text","\\n "],["open-element","td",[]],["static-attr","class","kredits"],["flush-element"],["text","\\n "],["open-element","span",[]],["static-attr","class","amount"],["flush-element"],["append",["unknown",["contributor","kredits"]],false],["close-element"],["text","\\n "],["open-element","span",[]],["static-attr","class","symbol"],["flush-element"],["text","₭S"],["close-element"],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n"]],"locals":["contributor"]}],"hasPartials":false}',meta:{moduleName:"kredits-web/components/contributor-list/template.hbs"}})}),define("kredits-web/components/loading-spinner/component",["exports","ember"],function(e,t){e.default=t.default.Component.extend({classNames:["loading-spinner"]})}),define("kredits-web/components/loading-spinner/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"+vFITFyc",block:'{"statements":[["open-element","p",[]],["flush-element"],["text","\\n "],["open-element","svg",[]],["static-attr","xmlns","http://www.w3.org/2000/svg","http://www.w3.org/2000/xmlns/"],["static-attr","xmlns:xlink","http://www.w3.org/1999/xlink","http://www.w3.org/2000/xmlns/"],["static-attr","version","1.1"],["static-attr","x","0px"],["static-attr","y","0px"],["static-attr","viewBox","0 0 132 100"],["static-attr","enable-background","new 0 0 100 100"],["static-attr","xml:space","preserve","http://www.w3.org/XML/1998/namespace"],["flush-element"],["text","\\n "],["open-element","path",[]],["static-attr","id","path-comet"],["static-attr","d","M79.062,24.173L79.062,24.173l-0.021-0.011c-0.068-0.03-0.137-0.062-0.204-0.093L42.392,7.337\\n c0,0,3.065,14.104,4.458,18.019l0,0c0,0-41.754-12.481-46.85-13.67c1.67,6.52,30.607,62.492,30.607,62.492\\n c5.848,11.873,19.394,18.485,33.522,18.485c19.811,0,35.87-16.059,35.87-35.869C100,42.313,91.418,29.837,79.062,24.173z"],["flush-element"],["text","\\n "],["close-element"],["text","\\n "],["close-element"],["text","\\n"],["close-element"],["text","\\n"],["open-element","p",[]],["flush-element"],["text","\\n Loading data from Ethereum...\\n"],["close-element"],["text","\\n"]],"locals":[],"named":[],"yields":[],"blocks":[],"hasPartials":false}',meta:{moduleName:"kredits-web/components/loading-spinner/template.hbs"}})}),define("kredits-web/components/proposal-list/component",["exports","ember"],function(e,t){e.default=t.default.Component.extend({tagName:"ul",classNames:["proposal-list"],actions:{confirm:function(e){this.get("contractInteractionEnabled")?this.sendAction("confirmAction",e):window.alert("Only members can vote on proposals. Please ask someone to set you up.")}}})}),define("kredits-web/components/proposal-list/template",["exports"],function(e){e.default=Ember.HTMLBars.template({id:"Q7rvGjgJ",block:'{"statements":[["block",["each"],[["get",["proposals"]]],null,2]],"locals":[],"named":[],"yields":[],"blocks":[{"statements":[["open-element","button",[]],["modifier",["action"],[["get",[null]],"confirm",["get",["proposal","id"]]]],["flush-element"],["text","+1"],["close-element"]],"locals":[]},{"statements":[["text","d"]],"locals":[]},{"statements":[["text"," "],["open-element","li",[]],["flush-element"],["text","\\n "],["open-element","span",[]],["static-attr","class","id"],["flush-element"],["text","#"],["append",["unknown",["proposal","id"]],false],["close-element"],["text","\\n Issue"],["block",["if"],[["get",["proposal","executed"]]],null,1],["text","\\n "],["open-element","span",[]],["static-attr","class","amount"],["flush-element"],["append",["unknown",["proposal","amount"]],false],["close-element"],["open-element","span",[]],["static-attr","class","symbol"],["flush-element"],["text","₭S"],["close-element"],["text","\\n to "],["open-element","span",[]],["static-attr","class","recipient"],["dynamic-attr","title",["concat",[["unknown",["proposal","recipientAddress"]]]]],["flush-element"],["append",["unknown",["proposal","recipientName"]],false],["close-element"],["text","\\n "],["open-element","span",[]],["static-attr","class","votes"],["flush-element"],["text","("],["append",["unknown",["proposal","votesCount"]],false],["text","/"],["append",["unknown",["proposal","votesNeeded"]],false],["text"," votes)"],["close-element"],["text","\\n\\n "],["block",["unless"],[["get",["proposal","executed"]]],null,0],["text","\\n "],["close-element"],["text","\\n"]],"locals":["proposal"]}],"hasPartials":false}',meta:{moduleName:"kredits-web/components/proposal-list/template.hbs"}})}),define("kredits-web/controllers/application",["exports","ember"],function(e,t){e.default=t.default.Controller.extend({})}),define("kredits-web/controllers/index",["exports","ember","kredits-web/models/proposal"],function(e,t,n){var s=t.default.computed,o=t.default.inject.service;e.default=t.default.Controller.extend({kredits:o(),contractInteractionEnabled:s.alias("kredits.web3Provided"),findContributorByAddress:function(e){return this.get("model.contributors").findBy("address",e)},proposalsOpen:function(){var e=this,t=this.get("model.proposals").filterBy("executed",!1).map(function(t){return t.set("recipientName",e.findContributorByAddress(t.get("recipientAddress")).github_username),t});return t}.property("model.proposals.[]","model.proposals.@each.executed","model.contributors.[]"),proposalsClosed:function(){var e=this,t=this.get("model.proposals").filterBy("executed",!0).map(function(t){return t.set("recipientName",e.findContributorByAddress(t.get("recipientAddress")).github_username),t});return t}.property("model.proposals.[]","model.proposals.@each.executed","model.contributors.[]"),proposalsSorting:["id:desc"],proposalsClosedSorted:t.default.computed.sort("proposalsClosed","proposalsSorting"),proposalsOpenSorted:t.default.computed.sort("proposalsOpen","proposalsSorting"),contributorsSorting:["kredits:desc"],contributorsSorted:t.default.computed.sort("model.contributors","contributorsSorting"),watchContractEvents:function(){var e=this,n=this.get("kredits.kreditsContract").allEvents();n.watch(function(n,s){switch(t.default.Logger.debug("[index] Received contract event",s),s.event){case"ProposalCreated":e._handleProposalCreated(s);break;case"ProposalExecuted":e._handleProposalExecuted(s);break;case"ProposalVoted":e._handleProposalVoted(s);break;case"Transfer":e._handleTransfer(s)}})}.on("init"),_handleProposalCreated:function(e){if(t.default.isPresent(this.get("model.proposals").findBy("id",e.args.id.toNumber())))return t.default.Logger.debug("[index] proposal exists, not adding from event"),!1;var s=n.default.create({id:e.args.id.toNumber(),creatorAddress:e.args.creator,recipientAddress:e.args.recipient,recipientName:null,votesCount:0,votesNeeded:2,amount:e.args.amount.toNumber(),executed:!1,url:e.args.url,ipfsHash:e.args.ipfsHash});this.get("model.proposals").pushObject(s)},_handleProposalExecuted:function(e){return this.get("model.proposals").findBy("id",e.args.id.toNumber()).get("executed")?(t.default.Logger.debug("[index] proposal already executed, not adding from event"),!1):(this.get("model.proposals").findBy("id",e.args.id.toNumber()).setProperties({executed:!0,votesCount:2}),void this.get("model.contributors").findBy("address",e.args.recipient).incrementProperty("kredits",e.args.amount.toNumber()))},_handleProposalVoted:function(e){this.get("model.proposals").findBy("id",e.args.id.toNumber()).incrementProperty("votesCount",1)},_handleTransfer:function(e){this.get("model.contributors").findBy("address",e.args.from).incrementProperty("kredits",-e.args.value.toNumber()),this.get("model.contributors").findBy("address",e.args.to).incrementProperty("kredits",e.args.value.toNumber())},actions:{confirmProposal:function(e){this.get("kredits").vote(e).then(function(e){window.confirm("Vote submitted to Ethereum blockhain: "+e)})}}})}),define("kredits-web/helpers/app-version",["exports","ember","kredits-web/config/environment"],function(e,t,n){function s(){return o}e.appVersion=s;var o=n.default.APP.version;e.default=t.default.Helper.helper(s)}),define("kredits-web/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","kredits-web/config/environment"],function(e,t,n){var s=n.default.APP,o=s.name,r=s.version;e.default={name:"App Version",initialize:(0,t.default)(o,r)}}),define("kredits-web/initializers/container-debug-adapter",["exports","ember-resolver/container-debug-adapter"],function(e,t){e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0];e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("kredits-web/initializers/export-application-global",["exports","ember","kredits-web/config/environment"],function(e,t,n){function s(){var e=arguments[1]||arguments[0];if(n.default.exportApplicationGlobal!==!1){var s;if("undefined"!=typeof window)s=window;else if("undefined"!=typeof global)s=global;else{if("undefined"==typeof self)return;s=self}var o,r=n.default.exportApplicationGlobal;o="string"==typeof r?r:t.default.String.classify(n.default.modulePrefix),s[o]||(s[o]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete s[o]}}))}}e.initialize=s,e.default={name:"export-application-global",initialize:s}}),define("kredits-web/models/contributor",["exports","ember"],function(e,t){e.default=t.default.Object.extend({address:null,github_username:null,github_uid:null,ipfsHash:null,kredits:null,isCurrentUser:!1,avatarURL:function(){return"https://avatars2.githubusercontent.com/u/"+this.get("github_uid")+"?v=3&s=128"}.property("github_uid")})}),define("kredits-web/models/proposal",["exports","ember"],function(e,t){e.default=t.default.Object.extend({id:null,creatorAddress:null,recipientAddress:null,recipientName:null,votesCount:null,votesNeeded:null,amount:null,executed:null,url:null,ipfsHash:null})}),define("kredits-web/resolver",["exports","ember-resolver"],function(e,t){e.default=t.default}),define("kredits-web/router",["exports","ember","kredits-web/config/environment"],function(e,t,n){var s=t.default.Router.extend({location:n.default.locationType,rootURL:n.default.rootURL});s.map(function(){this.route("spinner")}),e.default=s}),define("kredits-web/routes/application",["exports","ember"],function(e,t){e.default=t.default.Route.extend({})}),define("kredits-web/routes/index",["exports","ember"],function(e,t){e.default=t.default.Route.extend({kredits:t.default.inject.service(),model:function(){var e=this.get("kredits");return t.default.RSVP.hash({contributors:e.getContributors(),totalSupply:e.getValueFromContract("totalSupply"),contributorsCount:e.getValueFromContract("contributorsCount"),proposals:e.getProposals()})}})}),define("kredits-web/routes/spinner",["exports","ember"],function(e,t){e.default=t.default.Route.extend({})}),define("kredits-web/services/ajax",["exports","ember-ajax/services/ajax"],function(e,t){Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("kredits-web/services/kredits",["exports","ember","npm:web3","kredits-web/config/environment","kredits-web/models/contributor","kredits-web/models/proposal","npm:kredits-contracts"],function(e,t,n,s,o,r,l){e.default=t.default.Service.extend({web3Instance:null,web3Provided:!1,web3:function(){if(this.get("web3Instance"))return this.get("web3Instance");var e=void 0;if("undefined"!=typeof window.web3)t.default.Logger.debug("[kredits] Using user-provided instance, e.g. from Mist browser or Metamask"),e=window.web3,this.set("web3Provided",!0);else{t.default.Logger.debug("[kredits] Creating new instance from npm module class");var o=new n.default.providers.HttpProvider(s.default.web3ProviderUrl);e=new n.default(o)}return this.set("web3Instance",e),window.web3=e,e}.property("web3Instance"),currentUserAccounts:function(){return this.get("web3Provided")&&this.get("web3").eth.accounts||[]}.property("web3","web3Provided"),kreditsContract:function(){if(this.get("kreditsContractInstance"))return this.get("kreditsContractInstance");console.log(s.default.ethereumChain);var e=(0,l.default)(this.get("web3"),s.default.ethereumChain).Kredits;return this.set("kreditsContractInstance",e),e}.property("web3"),getValueFromContract:function(e){for(var n=this,s=arguments.length,o=Array(s>1?s-1:0),r=1;r - + - + @@ -19,7 +19,7 @@ - +