import { makeAutoObservable } from "mobx"; import api from "../api"; import { TariffState } from "../constants"; class CurrentTariffStatusStore { portalTariffStatus = {}; isLoaded = false; constructor() { makeAutoObservable(this); } init = async () => { if (this.isLoaded) return; await this.setPortalTariff(); this.setIsLoaded(true); }; setIsLoaded = (isLoaded) => { this.isLoaded = isLoaded; }; get isGracePeriod() { return this.portalTariffStatus.state === TariffState.Delay; } get isPaidPeriod() { return this.portalTariffStatus.state === TariffState.Paid; } get isNotPaidPeriod() { return this.portalTariffStatus.state === TariffState.NotPaid; } get dueDate() { return this.portalTariffStatus.dueDate; } get delayDueDate() { return this.portalTariffStatus.delayDueDate; } get delayDueDate() { return this.portalTariffStatus.delayDueDate; } get customerId() { return this.portalTariffStatus.customerId; } get portalStatus() { return this.portalTariffStatus.portalStatus; } setPortalTariff = async () => { const res = await api.portal.getPortalTariff(); if (!res) return; this.portalTariffStatus = res; }; } export default CurrentTariffStatusStore;