PluginProbe ʕ •ᴥ•ʔ
Hostinger Reach – AI-Powered Email Marketing for WordPress / 1.7.1
Hostinger Reach – AI-Powered Email Marketing for WordPress v1.7.1
1.7.2 1.7.1 1.7.0 1.6.0 1.5.9 1.5.8 1.5.7 1.5.6 1.5.5 1.5.4 1.5.3 1.5.2 1.5.1 1.5.0 1.4.12 1.4.11 1.4.10 1.4.9 1.4.8 1.4.7 trunk 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6
hostinger-reach / frontend / vue / router / guards / connectionGuard.ts
hostinger-reach / frontend / vue / router / guards Last commit date
connectionGuard.ts 1 year ago
connectionGuard.ts
32 lines
1 import type { NavigationGuardNext, RouteLocationNormalized } from 'vue-router';
2
3 import { Route } from '@/types/enums/routeEnum';
4
5 const getTargetRoute = (isConnected: boolean) => (isConnected ? Route.Base.OVERVIEW : Route.Base.WELCOME);
6
7 const shouldRedirect = (to: RouteLocationNormalized, isConnected: boolean) => {
8 if (to.path === '/') {
9 return getTargetRoute(isConnected);
10 }
11
12 const targetRoute = getTargetRoute(isConnected);
13 if (to.name !== targetRoute) {
14 return targetRoute;
15 }
16
17 return null;
18 };
19
20 export const connectionGuard = (to: RouteLocationNormalized, _: RouteLocationNormalized, next: NavigationGuardNext) => {
21 const isConnected = hostinger_reach_reach_data?.is_connected;
22 const redirectRoute = shouldRedirect(to, isConnected);
23
24 if (redirectRoute) {
25 next({ name: redirectRoute });
26
27 return;
28 }
29
30 next();
31 };
32