Skip to content

Commit a444acb

Browse files
author
Christian Bedon
committed
refactor: clean up some code and remove unnecessary computed
1 parent 41fd9d3 commit a444acb

File tree

1 file changed

+36
-11
lines changed

1 file changed

+36
-11
lines changed

src/components/MyKiva/BorrowerStatusCard.vue

Lines changed: 36 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -89,20 +89,21 @@
8989
class="tw-text-action tw-font-medium md:tw-text-black
9090
md:tw-w-full md:tw-text-left md:tw-mt-5 md:tw-mb-1"
9191
:class="{
92-
'!tw-text-action': isRefunded || isExpired,
92+
'!tw-text-action': !showWhatIsNextColumn,
9393
}"
9494
>
9595
{{ stepsCopy }}
9696
</p>
9797
<KvMaterialIcon
98-
v-if="!isRefunded && !isExpired"
98+
v-if="showWhatIsNextColumn"
9999
class="tw-w-3 tw-h-3 tw-text-action md:tw-hidden"
100100
:icon="open ? mdiChevronUp : mdiChevronDown"
101101
/>
102102
</button>
103103
<kv-expandable easing="ease-in-out" class="tw-block md:tw-hidden">
104104
<div v-show="open">
105105
<LoanNextSteps
106+
v-if="showWhatIsNextColumn"
106107
id="loan-next-steps"
107108
:weeks-to-repay="weeksToRepay"
108109
:current-step="currentStep"
@@ -112,6 +113,7 @@
112113
</div>
113114
</kv-expandable>
114115
<LoanNextSteps
116+
v-if="showWhatIsNextColumn"
115117
id="loan-next-steps"
116118
class="tw-hidden md:tw-block"
117119
:weeks-to-repay="weeksToRepay"
@@ -151,6 +153,8 @@ import {
151153
REFUNDED,
152154
EXPIRED,
153155
PAYING_BACK,
156+
ENDED,
157+
FUNDED,
154158
} from '#src/api/fixtures/LoanStatusEnum';
155159
156160
const COMMENT_ID = 'comment';
@@ -209,27 +213,49 @@ const title = computed(() => `${borrowerName.value} in ${borrowerCountry.value}`
209213
const loanUse = computed(() => loan.value?.use ?? '');
210214
211215
const isFundraising = computed(() => loan.value?.status === FUNDRAISING);
212-
const isRefunded = computed(() => loan.value?.status === REFUNDED);
213-
const isExpired = computed(() => loan.value?.status === EXPIRED);
214216
const isPayingBackDelinquent = computed(() => loan.value?.status === PAYING_BACK && loan.value?.delinquent);
215217
218+
const showWhatIsNextColumn = computed(() => {
219+
return !([REFUNDED, EXPIRED, ENDED].includes(loan.value?.status));
220+
});
221+
216222
const stepsCopy = computed(() => {
217-
if (isRefunded.value || isExpired.value) {
223+
if (!showWhatIsNextColumn.value) {
218224
return 'Learn what this means';
219225
}
220226
return 'What’s next?';
221227
});
222228
229+
const getPrintableStatus = status => {
230+
switch (status) {
231+
case FUNDRAISING:
232+
return 'Fundraising';
233+
case FUNDED:
234+
return 'Funded';
235+
case PAYING_BACK:
236+
return 'Repaying';
237+
case REFUNDED:
238+
return 'Refunded';
239+
case EXPIRED:
240+
return 'Expired';
241+
case ENDED:
242+
return 'Ended in default';
243+
default:
244+
return 'Repaid';
245+
}
246+
};
247+
223248
const loanStatus = computed(() => {
224-
if (isFundraising.value && !isPayingBackDelinquent.value) {
225-
return 'Fundraising';
249+
if (isPayingBackDelinquent.value) {
250+
return 'Repaying';
226251
}
227-
return 'Repaid';
252+
return getPrintableStatus(loan.value?.status);
228253
});
254+
229255
const description = computed(() => {
230256
let loanUsageDescription = isFundraising.value ? 'will use ' : 'used ';
231257
232-
if (isRefunded.value || isExpired.value) {
258+
if (showWhatIsNextColumn.value) {
233259
loanUsageDescription = 'asked for a loan to ';
234260
}
235261
@@ -270,8 +296,7 @@ const toggleWhatIsNext = () => {
270296
if (!open.value) {
271297
$kvTrackEvent('portfolio', 'click', 'What’s next?', borrowerName.value, loan.value.id);
272298
}
273-
if (isRefunded.value || isExpired.value) {
274-
console.log('hello');
299+
if (!showWhatIsNextColumn.value) {
275300
// eslint-disable-next-line max-len
276301
window.location = 'https://help.kiva.org/s/article/What-happens-if-a-loan-doesn-t-fully-fund-on-Kiva-1611075923145';
277302
}

0 commit comments

Comments
 (0)