{"version":3,"sources":["../node_modules/react-i18next/dist/es/I18nextProvider.js","app/Layout/FrontendLayout/components/LoginScreenCompanyLogo/index.tsx","app/Layout/AccountLayout/components/FooterContent.tsx","app/Layout/AccountLayout/components/AppStroreButton.tsx","app/Layout/AccountLayout/components/StoreButtons.tsx","app/Layout/AccountLayout/components/GetMobileApp.tsx","app/Layout/AccountLayout/index.tsx"],"names":["I18nextProvider","_ref","i18n","defaultNS","children","createElement","I18nContext","Provider","value","LoginScreenCompanyLogo","React","props","t","useTranslation","appSettings","useSelector","selectAppSettings","isLoading","selectLoading","undefined","customerLink","setCustomerLink","customerImg","setCustomerImg","LoginScreenCompanyLogoHeight","logoHeightSettings","setLogoHeight","logoHeight","isMobile","height","active","link","LoginScreenCompanyLogoLink","img","console","log","toRootedURL","href","aria-label","translations","CompanyLogoAriaLabel","Avatar","variant","alt","CompanyLogoAlt","src","className","style","width","FooterSection","styled","theme","display","padding","justifyContent","alignItems","gap","FooterContent","useTheme","Copyright","disableVersionOnMobile","AppStoreButton","store","process","StoreButtonsRoot","StoreButtons","AppButtonsPanel","flexDirection","color","bookitColors","base","white","GetMobileApp","loginFooterApps","useMemo","LoginFooterApps","bold","size","AppAccountButtonsTitle","AccountRoot","boxShadow","breakpoints","down","overflowY","minWidth","flexShrink","alignSelf","background","transition","transitions","create","order","paddingTop","flex","AccountLayout","checkIsMobile","useIsMobile","detectIsMobile","DetectIsMobile","publicNS"],"mappings":"2GAAA,sDAEO,SAASA,EAAgBC,GAC9B,IAAIC,EAAOD,EAAKC,KACZC,EAAYF,EAAKE,UACjBC,EAAWH,EAAKG,SACpB,OAAOC,wBAAcC,IAAYC,SAAU,CACzCC,MAAO,CACLN,KAAMA,EACNC,UAAWA,IAEZC,K,4SCKQK,EAAyBC,QACpC,SAAgCC,GAAqC,IAC3DC,EAAMC,cAAND,EACFE,EAAkCC,sBAAYC,KAC9CC,EAAYF,sBAAYG,KAHoC,EAI1BR,gBACtCS,GALgE,mBAI3DC,EAJ2D,KAI7CC,EAJ6C,OAO5BX,gBACpCS,GARgE,mBAO3DG,EAP2D,KAO9CC,EAP8C,OAUtBb,WAAA,OAE1CI,QAF0C,IAE1CA,OAF0C,EAE1CA,EAAaU,8BAZmD,mBAU3DC,EAV2D,KAUvCC,EAVuC,KAa5DC,EAAajB,WAAc,WAAO,IAAD,EACrC,OAAOkB,WAAW,KAAH,iBAAUH,QAAV,IAAUA,IAAsBd,EAAMkB,cAAtC,QAAgD,KAC9D,CAACJ,EAAoBd,EAAMkB,SAyB9B,OAxBAnB,aAAgB,WACd,IAAIoB,GAAUb,EACd,GAAIa,EAAQ,CACV,IAAIC,EAAI,OAAGjB,QAAH,IAAGA,OAAH,EAAGA,EAAakB,2BACpBC,EAAG,OAAGnB,QAAH,IAAGA,OAAH,EAAGA,EAAaL,uBACnBoB,EAAM,OAAGf,QAAH,IAAGA,OAAH,EAAGA,EAAaU,kCACbL,IAATY,GAA+B,KAATA,GACxBV,EAAgBU,QAENZ,IAARc,GAA6B,KAARA,IACvBV,EAAeU,GACfC,QAAQC,IAAIC,YAAYH,UAEXd,IAAXU,GACFH,EAAcG,QAGhBR,OAAgBF,GAChBI,OAAeJ,GAEjB,OAAO,WACLW,GAAS,KAEV,CAAChB,EAAaG,IAEf,cAAC,IAAD,CACEoB,KAAMjB,GAAgB,yBACtBkB,aAAY1B,EAAE2B,IAAaC,sBAF7B,SAIE,cAACC,EAAA,EAAD,CACEC,QAAQ,SACRC,IAAK/B,EAAE2B,IAAaK,gBACpBC,IAAKT,YAAYd,GAAe,4BAChCwB,UAAW,gBACXC,MAAO,CACLlB,OAAO,GAAD,OAAKF,EAAL,MACNqB,MAAO,e,SC9DNC,EAAgBC,YAAO,MAAPA,EAAc,cAAGC,MAAH,MAAgB,CACzD,kBAAmB,CACjBC,QAAS,OACTJ,MAAO,OACPK,QAAS,qBACTC,eAAgB,SAChBC,WAAY,aACZC,IAAK,YAGF,SAASC,EAAc9C,GAC5B,IAAMwC,EAAQO,cACd,OACE,cAACT,EAAD,CAAeE,MAAOA,EAAOL,UAAW,gBAAxC,SACE,cAACa,EAAA,EAAD,CAAWC,uBAAwBjD,EAAMiB,aCfxC,SAASiC,EAAelD,GAA6B,IAClDmD,EAAUnD,EAAVmD,MAIR,OACE,cAAC,IAAD,CAAMzB,KAAgB,QAAVyB,EAJE,6DAEd,uEAEA,SACE,qBACEhB,UAAU,gBACVH,IACY,QAAVmB,EAAkB,wBAA0B,wBAE9CjB,IAAG,UAAKkB,SAAL,OACS,QAAVD,EACI,4BACA,qCChBP,IAAME,EAAmBd,YAAO,MAAPA,EAAc,cAAGC,MAAH,MAAgB,CAC5D,iBAAkB,CAChBC,QAAS,OACTG,WAAY,SACZC,IAAK,OACL,mBAAoB,CAClB3B,OAAQ,OACRmB,MAAO,cAIN,SAASiB,EAAatD,GAC3B,IAAMwC,EAAQO,cACd,OACE,eAACM,EAAD,CAAkBlB,UAAW,eAAgBK,MAAOA,EAApD,UACE,cAACU,EAAD,CAAgBC,MAAM,YACtB,cAACD,EAAD,CAAgBC,MAAM,W,YCXfI,EAAkBhB,YAAO,MAAPA,EAAc,cAAGC,MAAH,MAAgB,CAC3D,iBAAkB,CAChBC,QAAS,OACTe,cAAe,SACfZ,WAAY,SACZC,IAAK,OACL,cAAe,CACbY,MAAOC,IAAaC,KAAKC,YAIxB,SAASC,EAAa7D,GAA2B,IAC9CC,EAAMC,cAAND,EACFuC,EAAQO,cACRe,EAAkB/D,IAAMgE,SAAQ,WACpC,OAAO9D,EAAE2B,IAAaoC,mBACrB,CAAC/D,IACJ,OACE,eAACsD,EAAD,CAAiBpB,UAAW,eAAgBK,MAAOA,EAAnD,UACE,cAAC,IAAD,CAAMyB,MAAI,EAACC,KAAK,QAAQ/B,UAAU,WAAlC,SACGlC,EAAE2B,IAAauC,0BAElB,cAACb,EAAD,MACGQ,GAAuC,KAApBA,GACpB,cAAC,IAAD,CAASG,MAAI,EAAC9B,UAAU,WAAxB,SACGlC,EAAE2B,IAAaoC,sB,YCfbI,EAAc7B,YAAO,MAAPA,EAAc,oBAAGC,EAAH,EAAGA,MAAH,MAAgB,CACvD,oBACEC,QAAS,OACT4B,UAAW,mCACXzB,WAAY,aAEZY,cAAe,MACfnB,MAAO,OACPnB,OAAQ,UAPV,cASGsB,EAAM8B,YAAYC,KAAK,MAAQ,CAE9Bf,cAAe,SACfb,eAAgB,aAChB6B,UAAW,SAbf,2BAecd,IAAaC,KAAKC,OAfhC,cAgBE,uBAhBF,aAiBInB,QAAS,OACTJ,MAAO,QACPoC,SAAU,QACV/B,QAAS,OACTc,cAAe,SACfb,eAAgB,gBAChBC,WAAY,SACZ8B,WAAY,EACZC,UAAW,UACXC,WAAW,OAAD,OACRxB,kCADQ,KAGVyB,WAAYrC,EAAMsC,YAAYC,OAAO,UACpCvC,EAAM8B,YAAYC,KAAK,MAAQ,CAC9BlC,MAAO,OACP2C,MAAO,KAhCb,cAmCE,uBAnCF,GAoCIvC,QAAS,OACTwC,WAAY,OACZzB,cAAe,SACfb,eAAgB,gBAChBC,WAAY,SACZsC,KAAM,QACNP,UAAW,UACXC,WAAYlB,IAAaC,KAAKC,MAC9BiB,WAAYrC,EAAMsC,YAAYC,OAAO,UA5CzC,cA6CKvC,EAAM8B,YAAYC,KAAK,MAAQ,CAC9BS,MAAO,IA9Cb,cAiDI,iBAjDJ,aAkDM9D,OAAQ,OACRsD,UAAW,QAEVhC,EAAM8B,YAAYC,KAAK,MAAQ,CAC9BrD,OAAQ,UAtDhB,WA4DK,SAASiE,EAAcnF,GAA4B,IAChDP,EAAaO,EAAbP,SACA2F,EAAkBC,cAAlBD,cACFE,EAAiBC,cACjBtE,EAAWmE,IACX5C,EAAQO,cACNxD,EAASW,YAAesF,KAAxBjG,KACR,OACE,cAACF,EAAA,EAAD,CAAiBG,UAAU,SAASD,KAAMA,EAA1C,SACE,eAAC6E,EAAD,CAAajC,UAAW,cAAeK,MAAOA,EAA9C,UACE,sBAAKL,UAAW,oBAAhB,UACE,cAAC,IAAD,KAEEmD,GAAkB,cAACzB,EAAD,OAEtB,sBAAK1B,UAAW,mBAAhB,UACE,cAAC,EAAD,CACElB,SAAUA,EACVC,OAAQD,EAAW,GAAK,KAE1B,sBAAMkB,UAAW,cAAjB,SAAiC1C,IACjC,cAACqD,EAAD,CAAe7B,SAAUA","file":"static/js/771.9513d915.chunk.js","sourcesContent":["import { createElement } from 'react';\nimport { I18nContext } from './context';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n return createElement(I18nContext.Provider, {\n value: {\n i18n: i18n,\n defaultNS: defaultNS\n }\n }, children);\n}","import { Avatar } from '@material-ui/core';\r\nimport { Link } from 'app/components/ExternalLink';\r\nimport { selectAppSettings, selectLoading } from 'app/slice/selectors';\r\nimport { translations } from 'locales/translations';\r\nimport * as React from 'react';\r\nimport { isMobile } from 'react-device-detect';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppSettings } from 'types/AppSettings';\r\nimport { toRootedURL } from 'utils/url-utils';\r\n\r\nexport interface LoginScreenCompanyLogoProps {\r\n height?: string | number;\r\n isMobile?: boolean;\r\n}\r\n\r\nexport const LoginScreenCompanyLogo = React.memo(\r\n function LoginScreenCompanyLogo(props: LoginScreenCompanyLogoProps) {\r\n const { t } = useTranslation();\r\n const appSettings: AppSettings | null = useSelector(selectAppSettings);\r\n const isLoading = useSelector(selectLoading);\r\n const [customerLink, setCustomerLink] = React.useState(\r\n undefined,\r\n );\r\n const [customerImg, setCustomerImg] = React.useState(\r\n undefined,\r\n );\r\n const [logoHeightSettings, setLogoHeight] = React.useState<\r\n string | undefined\r\n >(appSettings?.LoginScreenCompanyLogoHeight);\r\n const logoHeight = React.useMemo(() => {\r\n return isMobile ? '36' : logoHeightSettings ?? props.height ?? 40;\r\n }, [logoHeightSettings, props.height]);\r\n React.useEffect(() => {\r\n let active = !isLoading;\r\n if (active) {\r\n let link = appSettings?.LoginScreenCompanyLogoLink;\r\n let img = appSettings?.LoginScreenCompanyLogo;\r\n let height = appSettings?.LoginScreenCompanyLogoHeight;\r\n if (link !== undefined && link !== '') {\r\n setCustomerLink(link);\r\n }\r\n if (img !== undefined && img !== '') {\r\n setCustomerImg(img);\r\n console.log(toRootedURL(img));\r\n }\r\n if (height !== undefined) {\r\n setLogoHeight(height);\r\n }\r\n } else {\r\n setCustomerLink(undefined);\r\n setCustomerImg(undefined);\r\n }\r\n return () => {\r\n active = false;\r\n };\r\n }, [appSettings, isLoading]);\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n);\r\n","import { useTheme } from '@material-ui/core';\r\nimport { Copyright } from 'app/components/Copyright';\r\nimport styled from 'styled-components';\r\n\r\nexport interface FooterContentProps {\r\n isMobile?: boolean;\r\n}\r\nexport const FooterSection = styled('div')(({ theme }) => ({\r\n '&.footerSection': {\r\n display: 'flex',\r\n width: '100%',\r\n padding: '8px 16px 12px 16px',\r\n justifyContent: 'center',\r\n alignItems: 'flex-start',\r\n gap: '10px',\r\n },\r\n}));\r\nexport function FooterContent(props: FooterContentProps) {\r\n const theme = useTheme();\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import { Link } from 'app/components/ExternalLink';\r\n\r\nexport interface AppStoreButtonProps {\r\n store: 'IOS' | 'Android';\r\n}\r\n\r\nexport function AppStoreButton(props: AppStoreButtonProps) {\r\n const { store } = props;\r\n const IOSLink = 'https://itunes.apple.com/ca/app/bookitlab/id707458905?mt=8';\r\n const AndroidLink =\r\n 'https://play.google.com/store/apps/details?id=com.prog4biz.bookitlab';\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import styled from 'styled-components';\r\nimport { AppStoreButton } from './AppStroreButton';\r\nimport { useTheme } from '@material-ui/core';\r\n\r\nexport interface StoreButtonsProps {}\r\nexport const StoreButtonsRoot = styled('div')(({ theme }) => ({\r\n '&.storeButtons': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '16px',\r\n '& .app-store-img': {\r\n height: '40px',\r\n width: '120px',\r\n },\r\n },\r\n}));\r\nexport function StoreButtons(props: StoreButtonsProps) {\r\n const theme = useTheme();\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import styled from 'styled-components';\r\nimport { StoreButtons } from './StoreButtons';\r\nimport { translations } from 'locales/translations';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Body, Caption } from 'app/components/Typography';\r\nimport { bookitColors } from 'styles/colors/bookitColors';\r\nimport { useTheme } from '@material-ui/core';\r\nimport React from 'react';\r\n\r\nexport interface GetMobileAppProps {}\r\nexport const AppButtonsPanel = styled('div')(({ theme }) => ({\r\n '&.appContainer': {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n gap: '14px',\r\n '& .app-text': {\r\n color: bookitColors.base.white,\r\n },\r\n },\r\n}));\r\nexport function GetMobileApp(props: GetMobileAppProps) {\r\n const { t } = useTranslation();\r\n const theme = useTheme();\r\n const loginFooterApps = React.useMemo(() => {\r\n return t(translations.LoginFooterApps);\r\n }, [t]);\r\n return (\r\n \r\n \r\n {t(translations.AppAccountButtonsTitle)}\r\n \r\n \r\n {!!loginFooterApps && loginFooterApps !== '' && (\r\n \r\n {t(translations.LoginFooterApps)}\r\n \r\n )}\r\n \r\n );\r\n}\r\n","/**\r\n *\r\n * AccountLayout\r\n *\r\n */\r\nimport { useTheme } from '@material-ui/core';\r\nimport { BookitlabLoginLogo } from 'app/components/BookitlabLogo';\r\nimport { useIsMobile } from 'app/hooks/useIsMobile';\r\nimport * as React from 'react';\r\nimport { I18nextProvider, useTranslation } from 'react-i18next';\r\nimport { publicNS } from 'locales/i18n';\r\nimport styled from 'styled-components';\r\nimport { bookitColors } from 'styles/colors/bookitColors';\r\nimport { LoginScreenCompanyLogo } from '../FrontendLayout/components/LoginScreenCompanyLogo';\r\nimport { FooterContent } from './components/FooterContent';\r\nimport { GetMobileApp } from './components/GetMobileApp';\r\nimport { DetectIsMobile } from 'utils/mobileDetect';\r\nexport interface AccountLayoutProps {\r\n children: React.ReactNode;\r\n}\r\nexport const AccountRoot = styled('div')(({ theme }) => ({\r\n '&.accountRoot': {\r\n display: 'flex',\r\n boxShadow: '0px 4px 20px rgba(0, 0, 0, 0.25)',\r\n alignItems: 'flex-start',\r\n //justifyContent: 'center',\r\n flexDirection: 'row',\r\n width: '100%',\r\n height: '100dvh',\r\n //overflowY: 'hidden',\r\n [theme.breakpoints.down('sm')]: {\r\n //height: '100%',\r\n flexDirection: 'column',\r\n justifyContent: 'flex-start',\r\n overflowY: 'auto',\r\n },\r\n background: bookitColors.base.white,\r\n '& .accountRightPanel': {\r\n display: 'flex',\r\n width: '420px',\r\n minWidth: '360px',\r\n padding: '64px',\r\n flexDirection: 'column',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n flexShrink: 0,\r\n alignSelf: 'stretch',\r\n background: `url(${\r\n process.env.PUBLIC_URL + '/images/login_right_bg.png'\r\n })`,\r\n transition: theme.transitions.create('width'),\r\n [theme.breakpoints.down('sm')]: {\r\n width: '100%',\r\n order: 1,\r\n },\r\n },\r\n '& .accountContainer': {\r\n display: 'flex',\r\n paddingTop: '40px',\r\n flexDirection: 'column',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n flex: '1 0 0',\r\n alignSelf: 'stretch',\r\n background: bookitColors.base.white,\r\n transition: theme.transitions.create('width'),\r\n [theme.breakpoints.down('sm')]: {\r\n order: 0,\r\n //minHeight: '100%',\r\n },\r\n '& .accountMain': {\r\n height: 'auto',\r\n overflowY: 'auto',\r\n // paddingTop: '40px',\r\n [theme.breakpoints.down('sm')]: {\r\n height: '100%',\r\n },\r\n },\r\n },\r\n },\r\n}));\r\nexport function AccountLayout(props: AccountLayoutProps) {\r\n const { children } = props;\r\n const { checkIsMobile } = useIsMobile();\r\n const detectIsMobile = DetectIsMobile();\r\n const isMobile = checkIsMobile();\r\n const theme = useTheme();\r\n const { i18n } = useTranslation(publicNS);\r\n return (\r\n \r\n \r\n
\r\n \r\n {/*
*/}\r\n {!detectIsMobile && }\r\n
\r\n
\r\n \r\n
{children}
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n"],"sourceRoot":""}