<template>
  <modal-inner class="modal__inner-1--sponsor" aria-label="Sponsor">
    <div class="modal__content">
      <p>Please choose a <b>PayPal</b> option:</p>
      <a class="paypal-option button flex flex--row flex--center" v-for="button in buttons" :key="button.id" :href="button.link">
        <div class="flex flex--column">
          <div>{{button.price}}<div class="paypal-option__offer" v-if="button.offer">{{button.offer}}</div></div>
          <span>{{button.description}}</span>
        </div>
      </a>
    </div>
    <div class="modal__button-bar">
      <button class="button" @click="config.reject()">取消</button>
    </div>
  </modal-inner>
</template>

<script>
import { mapGetters } from 'vuex';
import ModalInner from './common/ModalInner';
import utils from '../../services/utils';
import store from '../../store';

export default {
  components: {
    ModalInner,
  },
  data() {
    const sponsorToken = store.getters['workspace/sponsorToken'];
    const makeButton = (id, price, description, offer) => {
      const params = {
        cmd: '_s-xclick',
        hosted_button_id: id,
        custom: sponsorToken.sub,
      };
      return {
        id,
        price,
        description,
        offer,
        link: utils.addQueryParams('https://www.paypal.com/cgi-bin/webscr', params),
      };
    };

    return {
      buttons: sponsorToken ? [
        makeButton('QD7SFZS79D2AL', '$5', '3 months sponsorship'),
        makeButton('WG64NCFL9TQZJ', '$15', '1 year sponsorship', '-25%'),
        makeButton('G2E7MN873EQ3U', '$25', '2 years sponsorship', '-37%'),
        makeButton('JQJT7ARKYC7FC', '$50', '5 years sponsorship', '-50%'),
      ] : [],
    };
  },
  computed: {
    ...mapGetters('modal', [
      'config',
    ]),
  },
  methods: {
    sponsor() {
    },
  },
};
</script>

<style lang="scss">
@import '../../styles/variables.scss';

.modal__inner-1.modal__inner-1--sponsor {
  max-width: 400px;
}

.paypal-option {
  text-align: center;
  padding: 10px;
  height: auto;
  font-size: 2.3em;
  margin: 0.75rem 0;
  line-height: 1.2;
  text-transform: none;

  span {
    display: inline-block;
    font-size: 0.75rem;
    opacity: 0.6;
    white-space: normal;
    line-height: 1.5;
  }

  .paypal-option__offer {
    float: right;
    font-size: 0.6rem;
    font-weight: 600;
    padding: 0.1em 0.2em;
    background-color: darken($error-color, 10);
    border-radius: 3px;
    color: #fff;
    margin-left: -0.5em;
  }
}
</style>
