Skip to content

Commit 77d0def

Browse files
committed
chore: simplify empty media state logic
1 parent d107c5c commit 77d0def

File tree

1 file changed

+29
-29
lines changed

1 file changed

+29
-29
lines changed

src/components/media/MediaEmptyState.vue

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -186,24 +186,34 @@ const skeletonSections = computed(() => {
186186
return map[selectedDayMeetingType.value || 'we'];
187187
});
188188
189-
const primaryEmptyStateMessage = computed(() => {
190-
if (!selectedDate.value) {
191-
return t('noDateSelected');
192-
}
193-
189+
const emptyStateFlags = computed(() => {
194190
const fetchingEnabled = !currentSettings.value?.disableMediaFetching;
195191
const hasMeetingType = !!selectedDayMeetingType.value;
196192
const status = selectedDateObject.value?.status;
197193
198-
if (fetchingEnabled && hasMeetingType && status !== 'error') {
199-
if (currentSettings.value?.meteredConnection) {
200-
const selectedDateValue = selectedDateObject.value?.date;
201-
if (
202-
selectedDateValue &&
203-
getDateDiff(selectedDateValue, new Date(), 'days') > 1
204-
) {
205-
return t('this-meeting-is-far-in-the-future');
206-
}
194+
const isFetchable = fetchingEnabled && hasMeetingType && status !== 'error';
195+
196+
const isFarFutureOnMetered = (() => {
197+
if (!currentSettings.value?.meteredConnection) return false;
198+
const d = selectedDateObject.value?.date;
199+
return d && getDateDiff(d, new Date(), 'days') > 1;
200+
})();
201+
202+
return {
203+
hasDate: !!selectedDate.value,
204+
isFarFutureOnMetered,
205+
isFetchable,
206+
};
207+
});
208+
209+
const primaryEmptyStateMessage = computed(() => {
210+
const f = emptyStateFlags.value;
211+
212+
if (!f.hasDate) return t('noDateSelected');
213+
214+
if (f.isFetchable) {
215+
if (f.isFarFutureOnMetered) {
216+
return t('this-meeting-is-far-in-the-future');
207217
}
208218
return t('please-wait');
209219
}
@@ -212,23 +222,13 @@ const primaryEmptyStateMessage = computed(() => {
212222
});
213223
214224
const secondaryEmptyStateMessage = computed(() => {
215-
if (!selectedDate.value) {
216-
return t('select-a-date-to-begin');
217-
}
225+
const f = emptyStateFlags.value;
218226
219-
const fetchingEnabled = !currentSettings.value?.disableMediaFetching;
220-
const hasMeetingType = !!selectedDayMeetingType.value;
221-
const status = selectedDateObject.value?.status;
227+
if (!f.hasDate) return t('select-a-date-to-begin');
222228
223-
if (fetchingEnabled && hasMeetingType && status !== 'error') {
224-
if (currentSettings.value?.meteredConnection) {
225-
const selectedDateValue = selectedDateObject.value?.date;
226-
if (
227-
selectedDateValue &&
228-
getDateDiff(selectedDateValue, new Date(), 'days') > 1
229-
) {
230-
return t('not-yet-available-due-to-metered-connection');
231-
}
229+
if (f.isFetchable) {
230+
if (f.isFarFutureOnMetered) {
231+
return t('not-yet-available-due-to-metered-connection');
232232
}
233233
return t('currently-loading');
234234
}

0 commit comments

Comments
 (0)