darkwallet/darkwallet

View on GitHub
src/html/partials/new_fund.html

Summary

Maintainability
Test Coverage
<div class="row collapse">
    <div class="large-10 large-centered columns cardflipper">
        <div class="wizard" ng-if="multisig.page=='multisig-start'">
            <div class="row">
                <div class="small-12 columns">
                    <h6>{{'Multisig funds require approval from multiple wallets in order to spend the coins in them. They are very useful when you need to manage a fund between multiple people or when you want multiple factors of authentication to prevent theft if your wallet is compromised.'|_}}</h6>
                </div>
            </div>
            <div class="row">
                <div class="small-6 columns">
                    <a class="button radius expand nomarginbottom fa fa-download" ng-click="multisig.page='multisig-create';multisig.createType='import'"> {{'Import'|_}}</a>
                </div>

                <div class="small-6 columns">
                    <a class="button radius expand glow nomarginbottom fa fa-plus" ng-click="multisig.page='multisig-create';multisig.createType='new'"> {{'Create new'|_}}</a>
                </div>
            </div>

        </div>
        <div class="wizard" ng-if="multisig.page=='multisig-create'&&multisig.createType=='import'">
            <div class="row">
                <div class="small-12 columns">
                    <h5>{{'Name for the pocket'|_}}</h5>
                    <input ng-model="multisig.name" maxlength="17" type="text" class="radius" placeholder="{{'Enter the pocket name for your fund...'|_}}" autofocus>
                    <h5>{{'Paste the multisig code here'|_}}</h5>
                    <textarea ng-model="scriptData" class="script"></textarea>
                </div>
            </div>
            <div class="row">
                <div class="small-4 columns">
                    <a class="button radius expand nomarginbottom fa fa-arrow-left" ng-click="multisig.page='multisig-start'"> {{'Back'|_}}</a>
                </div>
                <div class="small-4 columns">
                    <a class="button radius expand nomarginbottom fa fa-clipboard" ng-click="scriptData=clipboard.paste()"> {{'Paste'|_}}</a>
                </div>
                <div class="small-4 columns">
                    <a class="button radius expand nomarginbottom fa fa-download" ng-disabled="!scriptData" ng-class="{glow: scriptData}" ng-click="importMultisig(scriptData)"> {{'Import'|_}}</a>
                </div>
            </div>

        </div>
        <div class="wizard" ng-if="multisig.page=='multisig-create'&&multisig.createType=='new'">
            <div class="small-12 columns">
                <h5>{{'Select fund managers'|_}}</h5>
                <div ng-repeat="participant in multisig.participants track by $index" class="row collapse">
                    <div class="small-1 columns text-center">
                        <span class="label" ng-show="participant.type=='me'">{{'me'|_}}</span>
                        <identicon icon-size="38" hash="participant.hash"></identicon>
                    </div>
                    <div class="small-7 large-9 columns">
                        <input type="text" value="{{participant.address}}" readonly />
                    </div>
                    <div class="small-4 large-2 columns">
                        <button class="button postfix radius fa fa-times" ng-click="removeParticipant($index)">{{'Remove'|_}}</button>
                    </div>
                </div>
                <div class="row collapse">
                  <div class="small-1 columns">
                    <a href="" tooltip-append-to-body="true" tooltip="{{'Select from contacts'|_}}" ng-click="modals.open('pick-contact', {participants: multisig.participants, type: 'pubKey'}, addParticipant)" class="fa button square prefix radius fa-users"></a>
                  </div>
                  <div class="small-1 columns">
                    <a href="" tooltip-append-to-body="true" tooltip="{{'Scan QR code'|_}}" ng-click="modals.scanQr(multisig.participants)" class="fa button square prefix fa-qrcode"></a>
                  </div>
                  <div class="small-6 large-8 columns">
                    <input type="text" ng-model="newAddress" placeholder="{{'Paste stealth or master address here...'|_}}" />
                  </div>
                  <div class="small-4 large-2 columns">
                    <button ng-click="addParticipant(newAddress); newAddress = ''" class="button postfix radius fa fa-plus">{{'Add'|_}}</button>
                  </div>
                   </div>
            <!---    <input id="include-me" type="checkbox"><label for="include-me">Add this wallet ({{identityName}}) as a manager</label> -->
            </div>

                <div class="row">
                    <div class="small-4 columns">
                        <a class="button radius expand nomarginbottom fa fa-arrow-left" ng-click="multisig.page='multisig-start'"> {{'Back'|_}}</a>
                    </div>
                    <div class="small-4 columns">
                        <a class="button radius expand nomarginbottom fa fa-clipboard" ng-click="addParticipant(clipboard.paste())"> {{'Paste'|_}}</a>
                    </div>
                    <div class="small-4 columns">
                        <a class="button radius expand nomarginbottom fa fa-arrow-right" ng-disabled="multisig.participants.length<2" ng-click="multisig.page='multisig-final'" ng-class="{glow: multisig.participants.length>1}"> {{'Next'|_}}</a>
                    </div>
                </div>
            </div>
                <div class="wizard" ng-if="multisig.page=='multisig-final'">
                <h5>{{'Required signatures'|_}}</h5>

                    <div class="row collapse">
                        <div class="small-3 columns">
                            <input name="multisig-m" ng-disabled="multisig.createType=='import'" type="number" ng-model="multisig.m" value="{{multisig.m}}" autofocus="autofocus" min="1" max="{{multisig.participants.length}}" class="prefix radius">
                        </div>
                        <div class="small-9 columns">
                            <span class="postfix radius">{{'of {0} signatures will be required to spend'|_:multisig.participants.length}}</span>

                        </div>
                    </div>

                <h5>{{'Name for the pocket'|_}}</h5>
                <input ng-model="multisig.name"  type="text" class="radius" placeholder="{{'Enter the pocket name for your fund...'|_}}">
                <div class="row collapse">
                    <div class="small-4 columns">
                        <a class="button radius expand nomarginbottom fa fa-arrow-left" ng-click="multisig.page='multisig-create'"> {{'Back'|_}}</a>
                    </div>
                    <div class="small-4 columns">

                    </div>
                    <div class="small-4 columns">
                        <a class="button radius expand nomarginbottom fa fa-plus" ng-click="createMultisig()" ng-class="{glow: multisig.name}" ng-disabled="!multisig.name"> {{'Create'|_}}</a>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>