@malga-checkout/core
Version:
Core components for Malga Checkout
50 lines (49 loc) • 1.83 kB
JavaScript
import { t } from '@malga-checkout/i18n';
import { Component, Host, h, State } from '@stencil/core';
import settings from '../../../../stores/settings';
import { MalgaPaymentsDripContentService } from './malga-payments-drip-content.service';
import DripPayIcon from './assets/drip-pay.svg';
export class MalgaPaymentsDripContent {
constructor() {
this.installments = [];
this.cashback = '';
this.fetchInstallments = async () => {
const dripContentService = new MalgaPaymentsDripContentService({
amount: settings.transactionConfig.amount,
sandbox: settings.sandbox,
debug: settings.debug,
clientId: settings.clientId,
});
const { cashback, installments } = await dripContentService.getContent();
this.cashback = cashback;
this.installments = installments;
};
}
componentWillLoad() {
this.fetchInstallments();
}
render() {
return (h(Host, { class: { 'malga-payments-drip-content__container': true } },
h("i", { innerHTML: DripPayIcon }),
h("p", null,
t('paymentMethods.drip.descriptions.first', settings.locale),
' ',
h("strong", null, t('paymentMethods.drip.descriptions.second', settings.locale, {
installments: this.installments.length.toString()
})),
' ',
t('paymentMethods.drip.descriptions.third', settings.locale)),
h("malga-payments-drip-installments", { cashback: this.cashback, installments: this.installments })));
}
static get is() { return "malga-payments-drip-content"; }
static get originalStyleUrls() { return {
"$": ["malga-payments-drip-content.scss"]
}; }
static get styleUrls() { return {
"$": ["malga-payments-drip-content.css"]
}; }
static get states() { return {
"installments": {},
"cashback": {}
}; }
}