Commit eba84d39 authored by Mark Harding's avatar Mark Harding
Browse files

(feat): implement payout methods for pro

parent 76c5db04
Loading
Loading
Loading
Loading
+98 −0
Original line number Diff line number Diff line
@@ -652,6 +652,104 @@
                  </div>
                </div>
              </ng-template>

              <!-- Payouts -->

              <ng-template ngSwitchCase="payouts">
                <div class="m-shadowboxLayout__body">
                  <div
                    class="m-proSettings__tab--payouts"
                    formGroupName="payouts"
                  >
                    <div class="m-proSettings__field--radio hasValidationRow">
                      <div class="m-proSettings__row--label">
                        <label for="domain" i18n>Payout Method</label>
                        <m-tooltip icon="help"
                          ><ng-container i18n
                            >Select a payout method below</ng-container
                          ></m-tooltip
                        >
                      </div>
                      <div class="m-proSettings__row--input">
                        <label
                          for="method_usd"
                          class="m-proSettings__customInputContainer--radio"
                          i18n
                          >USD
                          <input
                            type="radio"
                            value="usd"
                            id="method_usd"
                            name="method"
                            formControlName="method"
                            class="form-control"
                          />
                          <span
                            class="m-proSettings__customInput--radio"
                          ></span>
                        </label>
                      </div>
                      <div class="m-proSettings__row--input">
                        <label
                          for="method_tokens"
                          class="m-proSettings__customInputContainer--radio"
                          i18n
                          >Minds Tokens
                          <input
                            type="radio"
                            value="tokens"
                            name="method"
                            id="method_tokens"
                            formControlName="method"
                            class="form-control"
                          />
                          <span
                            class="m-proSettings__customInput--radio"
                          ></span>
                        </label>
                      </div>
                      <div class="m-proSettings__row--input">
                        <label
                          for="method_eth"
                          class="m-proSettings__customInputContainer--radio"
                          i18n
                          >Ether
                          <input
                            type="radio"
                            value="eth"
                            name="method"
                            id="method_eth"
                            formControlName="method"
                            class="form-control"
                          />
                          <span
                            class="m-proSettings__customInput--radio"
                          ></span>
                        </label>
                      </div>
                      <div class="m-proSettings__row--input">
                        <label
                          for="method_btc"
                          class="m-proSettings__customInputContainer--radio"
                          i18n
                          >Bitcoin
                          <input
                            type="radio"
                            value="btc"
                            name="method"
                            id="method_btc"
                            formControlName="method"
                            class="form-control"
                          />
                          <span
                            class="m-proSettings__customInput--radio"
                          ></span>
                        </label>
                      </div>
                    </div>
                  </div>
                </div>
              </ng-template>
            </ng-container>
            <ng-container *ngTemplateOutlet="submitButton"></ng-container>
          </form>
+13 −0
Original line number Diff line number Diff line
@@ -66,6 +66,12 @@ export class ProSettingsComponent implements OnInit, OnDestroy {
      title: 'Domain',
      subtitle: 'Customize your site domain',
    },
    {
      id: 'payouts',
      title: 'Payouts',
      subtitle:
        'Select the currency type you wish you be paid out in. Please note payouts only occur once you have received the equivalent of $100 or greater.',
    },
  ];

  settings: any;
@@ -120,6 +126,9 @@ export class ProSettingsComponent implements OnInit, OnDestroy {
      domain: ['', Validators.required, this.validateDomain.bind(this)],
      custom_head: [''],
    }),
    payouts: this.fb.group({
      method: ['usd'],
    }),
  });

  constructor(
@@ -202,6 +211,9 @@ export class ProSettingsComponent implements OnInit, OnDestroy {
        domain: settings.domain,
        custom_head: settings.custom_head,
      },
      payouts: {
        method: settings.payout_method,
      },
    });

    this.setTags(settings.tag_list);
@@ -330,6 +342,7 @@ export class ProSettingsComponent implements OnInit, OnDestroy {
        footer_text: this.form.value.footer.title,
        tag_list: this.form.value.hashtags,
        footer_links: this.form.value.footer.links,
        payout_method: this.form.value.payouts.method,
      };
      await this.service.set(this.settings, this.user);
      this.formToastService.success(
+4 −0
Original line number Diff line number Diff line
@@ -35,6 +35,10 @@ const sidebarMenu = {
      label: 'Pro Subscription',
      path: 'pro',
    },
    {
      id: 'payouts',
      label: 'Payouts',
    },
    {
      id: ':user',
      label: 'View Pro Channel',