chore: Hide banners on onboarding view (#8934)

---------
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
This commit is contained in:
Nithin David Thomas
2024-02-20 16:12:51 -08:00
committed by GitHub
parent 19aef3e94b
commit 9911c5dc12
3 changed files with 38 additions and 3 deletions

View File

@@ -8,8 +8,8 @@
>
<update-banner :latest-chatwoot-version="latestChatwootVersion" />
<template v-if="currentAccountId">
<pending-email-verification-banner />
<payment-pending-banner />
<pending-email-verification-banner v-if="hideOnOnboardingView" />
<payment-pending-banner v-if="hideOnOnboardingView" />
<upgrade-banner />
</template>
<transition name="fade" mode="out-in">
@@ -38,6 +38,7 @@ import vueActionCable from './helper/actionCable';
import WootSnackbarBox from './components/SnackbarContainer.vue';
import rtlMixin from 'shared/mixins/rtlMixin';
import { setColorTheme } from './helper/themeHelper';
import { isOnOnboardingView } from 'v3/helpers/RouteHelper';
import {
registerSubscription,
verifyServiceWorkerExistence,
@@ -79,6 +80,9 @@ export default {
const { accounts = [] } = this.currentUser || {};
return accounts.length > 0;
},
hideOnOnboardingView() {
return !isOnOnboardingView(this.$route);
},
},
watch: {

View File

@@ -48,3 +48,13 @@ export const validateRouteAccess = (to, next, chatwootConfig = {}) => {
next();
};
export const isOnOnboardingView = route => {
const { name = '' } = route || {};
if (!name) {
return false;
}
return name.includes('onboarding_');
};

View File

@@ -1,4 +1,4 @@
import { validateRouteAccess } from '../RouteHelper';
import { validateRouteAccess, isOnOnboardingView } from '../RouteHelper';
import { clearBrowserSessionCookies } from 'dashboard/store/utils/api';
import { replaceRouteWithReload } from '../CommonHelper';
import Cookies from 'js-cookie';
@@ -67,3 +67,24 @@ describe('#validateRouteAccess', () => {
expect(next).toHaveBeenCalledWith();
});
});
describe('isOnOnboardingView', () => {
test('returns true for a route with onboarding name', () => {
const route = { name: 'onboarding_welcome' };
expect(isOnOnboardingView(route)).toBe(true);
});
test('returns false for a route without onboarding name', () => {
const route = { name: 'home' };
expect(isOnOnboardingView(route)).toBe(false);
});
test('returns false for a route with null name', () => {
const route = { name: null };
expect(isOnOnboardingView(route)).toBe(false);
});
test('returns false for an undefined route object', () => {
expect(isOnOnboardingView()).toBe(false);
});
});