mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-30 18:46:00 +00:00
fix(dashboard): show an error instead of a blank trip list when the server is unreachable (#1283)
When the backend or identity provider was unreachable, a returning user with a persisted session landed on the dashboard with an empty trip grid and no error. That looks identical to a logged-in user who simply has no trips, so people assumed their data had been lost. Three client-side layers were quietly swallowing the failure: the auth check only cleared state on a 401, so a 5xx or a network error left the stale session in place and kept rendering the protected route; the offline-first trip repo turned a failed fetch into the empty cache without throwing; and the dashboard had neither an error nor an empty state, so a blank grid meant both "outage" and "no trips". The auth check now tells genuine offline (keep serving the cache silently, the PWA happy path) apart from a server outage while online (keep the session but flag it). The dashboard shows a reassuring "couldn't reach the server, your trips are safe" banner with a retry, and a real zero-trip account finally gets a proper empty state so the two cases never look alike. New strings added across all locales.
This commit is contained in:
@@ -42,6 +42,8 @@ const dashboard: TranslationStrings = {
|
||||
'dashboard.status.past': '지난 여행',
|
||||
'dashboard.status.daysLeft': '{count}일 남음',
|
||||
'dashboard.toast.loadError': '여행 불러오기 실패',
|
||||
'dashboard.loadErrorBanner': '서버에 연결할 수 없습니다. 여행 정보는 안전하게 보관되어 있으니 잠시 후 다시 시도해 주세요.',
|
||||
'dashboard.retry': '다시 시도',
|
||||
'dashboard.toast.created': '여행이 생성되었습니다!',
|
||||
'dashboard.toast.createError': '여행 생성 실패',
|
||||
'dashboard.toast.updated': '여행이 업데이트되었습니다!',
|
||||
|
||||
Reference in New Issue
Block a user