From 01363042ce1b54798bc4f8c5311662836d799842 Mon Sep 17 00:00:00 2001 From: Pranav Date: Thu, 6 Nov 2025 20:44:59 -0800 Subject: [PATCH] fix: Handle login when there are no accounts (#12816) --- app/javascript/dashboard/App.vue | 13 ------- .../dashboard/i18n/locale/en/settings.json | 6 +++ .../routes/dashboard/dashboard.routes.js | 6 +++ .../routes/dashboard/noAccounts/Index.vue | 39 +++++++++++++++++++ app/javascript/dashboard/routes/index.js | 13 ++++++- 5 files changed, 62 insertions(+), 15 deletions(-) create mode 100644 app/javascript/dashboard/routes/dashboard/noAccounts/Index.vue diff --git a/app/javascript/dashboard/App.vue b/app/javascript/dashboard/App.vue index 0fcb8c9fe..a63cb1a90 100644 --- a/app/javascript/dashboard/App.vue +++ b/app/javascript/dashboard/App.vue @@ -1,6 +1,5 @@ + + diff --git a/app/javascript/dashboard/routes/index.js b/app/javascript/dashboard/routes/index.js index e69d0b5ad..27465eb39 100644 --- a/app/javascript/dashboard/routes/index.js +++ b/app/javascript/dashboard/routes/index.js @@ -18,8 +18,17 @@ export const validateAuthenticateRoutePermission = (to, next) => { return ''; } - if (!to.name) { - return next(frontendURL(`accounts/${user.account_id}/dashboard`)); + const { accounts = [], account_id: accountId } = user; + + if (!accounts.length) { + if (to.name === 'no_accounts') { + return next(); + } + return next(frontendURL('no-accounts')); + } + + if (to.name === 'no_accounts' || !to.name) { + return next(frontendURL(`accounts/${accountId}/dashboard`)); } const nextRoute = validateLoggedInRoutes(to, store.getters.getCurrentUser);