form.component.html 5.69 KB
Newer Older
XFT-dev's avatar
XFT-dev committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

<app-header></app-header>
<ng-container *mobxAutorun>
        <div class="features-page">
        <div class="features-container">
            <div class="card-box">

                <div [ngSwitch]="selectedCase">
                    <div class="card-box__switcher">
                        <div class="card-box__switcher__item" [class.card-box__switcher__item__active]="selectedCase ==='STAKE'" (click)="selectedCase='STAKE'">
                            Stake
                        </div>
                        <div class="card-box__switcher__item" [class.card-box__switcher__item__active]="selectedCase ==='UNSTAKE'" (click)="selectedCase='UNSTAKE'">
                            Unstake

                        </div>
                        <div class="card-box__switcher__item" [class.card-box__switcher__item__active]="selectedCase ==='REWARDS'" (click)="selectedCase='REWARDS'">
                            Rewards
                        </div>
                    </div>

                    <form class="form-box" [formGroup]="formStake" *ngSwitchCase="'STAKE'">
                        <div class="form-input-box">
                            <label for="amount-stake">Amount</label>
                            <div class="form-input-box-input-text">
                                <input type="text" id="amount-stake" appNumberOnly formControlName="amount" [class.error]="!stakeAmount.invalid && greaterThen(stakeAmount.value, slpBalance)" >
                                <span class="text">SLP</span>
                            </div>
                        </div>
                        <p>Balance: {{slpBalanceDivider}} SLP</p>
                        <p>XFT APY:  {{apyXFT}} %</p>
                        <p>SUSHI ROI: {{apySushi}} %</p>
                        <button  mat-raised-button class="card-box__btn btn" type="button" [class.disabled]="isSubmittingApprove || isSubmittingStake || formStake.invalid || !lessOrEqual(stakeAmount.value, slpBalance)" (click)="submitFormStake()">
                            <span class="card-box__btn__box" *ngIf="!isSubmittingApprove && !isSubmittingStake" >
                                <span *ngIf="!stakeAmount.invalid && lessOrEqual(stakeAmount.value, slpAllowance)">Stake</span>
                                <span *ngIf="!stakeAmount.invalid && greaterThen(stakeAmount.value, slpAllowance) && lessOrEqual(stakeAmount.value, slpBalance)">Approve</span>
                                <span *ngIf="stakeAmount.invalid || !lessOrEqual(stakeAmount.value, slpBalance)">Approve & Stake</span>
                            </span>
                            <span class="card-box__btn__box" *ngIf="isSubmittingApprove" >
                                <span>Approving</span>
                                <mat-spinner class="card-box__btn__box__loader" [diameter]="20"></mat-spinner>
                            </span>
                            <span class="card-box__btn__box" *ngIf="isSubmittingStake" >
                                <span>Staking</span>
                                <mat-spinner class="card-box__btn__box__loader" [diameter]="20"></mat-spinner>
                            </span>

                        </button>

                    </form>
                    <form class="form-box" [formGroup]="formUnstake" *ngSwitchCase="'UNSTAKE'">

                        <div class="form-input-box">
                            <label for="amount-unstake">Amount</label>
                            <div class="form-input-box-input-text">
                                <input type="text" id="amount-unstake" appNumberOnly formControlName="amount" #unstakeInput  [class.error]="!unstakeAmount.invalid && greaterThen(unstakeInput.value, staked)" >
                                <span class="text">SLP</span>
                            </div>
                        </div>
                        <p>Staked balance {{stakedDivider}} SLP</p>


                        <button  mat-raised-button class="card-box__btn btn" type="button" [class.disabled]="isSubmittingUnstake || formUnstake.invalid ||  greaterThen(unstakeInput.value, staked)" (click)="submitFormUnstake()">
                            <span class="card-box__btn__box" *ngIf="!isSubmittingUnstake" >Unstake</span>

                            <span class="card-box__btn__box" *ngIf="isSubmittingUnstake" >
                                <span>Unstaking</span>
                                <mat-spinner class="card-box__btn__box__loader" [diameter]="20"></mat-spinner>
                            </span>

                        </button>

                    </form>
                    <div  class="form-box" *ngSwitchCase="'REWARDS'">

                        <p>Available XFT rewards: {{rewardsXFT}}</p>
                        <p>Available SUSHI rewards: {{rewardsSushi}}</p>
                        <div class="box-btn">
<!--                            <button class="card-box__btn box-btn__left" type="button">{{'FEATURES__PAGE.RESTAKE_BTN' | translate}}</button>-->
                            <button  mat-raised-button class="card-box__btn btn" type="button" [class.disabled]="isSubmittingClaimRewards " (click)="submitClaimRewards()">
                                <span class="card-box__btn__box" *ngIf="!isSubmittingClaimRewards" >Claim Rewards</span>
                                <span class="card-box__btn__box" *ngIf="isSubmittingClaimRewards" >
                                <span>Submitting</span>
                                <mat-spinner class="card-box__btn__box__loader" [diameter]="20"></mat-spinner>
                            </span>
                            </button>
                        </div>
                    </div>
                </div>

            </div>
        </div>
    </div>



</ng-container>