From 1006e88e5b237605e7298950699cb179f9dfb399 Mon Sep 17 00:00:00 2001 From: pyr0ball Date: Thu, 19 Mar 2026 08:24:52 -0700 Subject: [PATCH] fix(apply): ensure loading resets on fetchJobs error and clear toast timer on unmount --- web/src/views/ApplyView.vue | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/web/src/views/ApplyView.vue b/web/src/views/ApplyView.vue index 7e7d7c3..c1ef7b5 100644 --- a/web/src/views/ApplyView.vue +++ b/web/src/views/ApplyView.vue @@ -140,6 +140,7 @@ onMounted(() => { onUnmounted(() => { if (_mq && _mqHandler) _mq.removeEventListener('change', _mqHandler) + clearTimeout(toastTimer) }) // ── Job list data ───────────────────────────────────────────────────────────── @@ -160,11 +161,14 @@ const loading = ref(true) async function fetchJobs() { loading.value = true - const { data } = await useApiFetch( - '/api/jobs?status=approved&limit=100&fields=id,title,company,location,is_remote,salary,match_score,has_cover_letter' - ) - loading.value = false - if (data) jobs.value = data + try { + const { data } = await useApiFetch( + '/api/jobs?status=approved&limit=100&fields=id,title,company,location,is_remote,salary,match_score,has_cover_letter' + ) + if (data) jobs.value = data + } finally { + loading.value = false + } } onMounted(fetchJobs)