Update all non-major dependencies
[ProtonMail-WebClient.git] / applications / calendar / src / app / helpers / drawer.ts
blob8c8d5df0074f2e7b127446ed28ba8597257e0c8a
1 import { getAppFromPathnameSafe } from '@proton/shared/lib/apps/slugHelper';
2 import { VIEWS } from '@proton/shared/lib/calendar/constants';
3 import { getIsAuthorizedApp } from '@proton/shared/lib/drawer/helpers';
4 import { getIsIframe } from '@proton/shared/lib/helpers/browser';
6 // We need to capture the pathname on page load. We otherwise end up in a situation where a side-effect overrides
7 // the pathname, and we have no mechanism to detect the parent app due to cross origin restrictions
8 const pathname = window.location.pathname;
9 const isIframe = getIsIframe();
10 const parentApp = getAppFromPathnameSafe(pathname);
11 const isDrawerApp = isIframe && parentApp && getIsAuthorizedApp(parentApp);
12 const view = (() => {
13     if (parentApp === 'proton-mail') {
14         return VIEWS.MAIL;
15     }
16     if (parentApp === 'proton-drive') {
17         return VIEWS.DRIVE;
18     }
20     return undefined;
21 })();
23 /** Infos related to calendar in "drawer app" mode */
24 export const embeddedDrawerAppInfos = {
25     isIframe,
26     isDrawerApp,
27     parentApp,
28     view,