{"version":3,"file":"static/js/709.cd03d52e2f35edfbc2da.js","mappings":"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","sources":["components/IconComponents/UserDropdownIcon.tsx","models/adminUserMenu.ts","pages/admin/Navbar/styleObjects/userMenuDropdownStyles.ts","components/IconComponents/AdminLogoutIcon.tsx","components/IconComponents/LayoutDashboardIcon.tsx","components/IconComponents/HistoryIcon.tsx","pages/admin/Navbar/AdminNavDropdownOptions.tsx","pages/admin/Navbar/UserMenuDropdown.tsx","services/apiService.ts","services/myAdminService.js","models/user.ts","services/authenticationPublicService.js","stateManagement/atoms/admin.ts"],"sourcesContent":["import React from 'react';\n\nexport function UserDropdownIcon(props: React.SVGProps): JSX.Element {\n return (\n \n \n \n );\n}\n","export enum UserMenuOption {\n Dashboard = 'dashboard',\n Logout = 'logout',\n History = 'history',\n}\n","import { v2Colors, shadows } from '@web-for-marketing/react-ui';\nimport { DropdownSize } from '../UserMenuDropdown';\n\nexport const userMenuDropdownStyles = {\n dashboardLink: {\n color: v2Colors.core.silver,\n textDecoration: 'none',\n fontSize: '2rem',\n },\n userButton: (size: DropdownSize) => ({\n border: '1px solid #C1C9D6',\n borderRadius: '4rem',\n padding: '0.5rem 1rem',\n background: v2Colors.core.snow,\n color: v2Colors.core.geotab,\n cursor: 'pointer',\n display: 'flex',\n zIndex: 500,\n alignItems: 'center',\n '& > p': {\n color: 'inherit',\n fontSize: size === 'small' ? '1.4rem' : '1.6rem',\n },\n '&:hover': {\n backgroundColor: v2Colors.core.cloud,\n },\n '&:focus': {\n borderColor: v2Colors.core.innovation,\n color: v2Colors.core.innovation,\n outline: 'none',\n '& > svg > path': {\n stroke: 'currentColor',\n },\n },\n }),\n userIcon: {\n borderRadius: '50%',\n border: `1px solid ${v2Colors.core.geotab}`,\n marginRight: '1rem',\n '@media (max-width: 400px)': {\n display: 'none',\n },\n },\n imageIcon: (size: DropdownSize) => ({\n width: size === 'small' ? '1.6rem' : '2.5rem',\n height: size === 'small' ? '1.6rem' : '2.5rem',\n }),\n textIcon: {\n background: v2Colors.core.geotab,\n fontWeight: 700,\n color: v2Colors.core.snow,\n padding: '0.3rem 0.8rem',\n },\n navItemContainer: {\n display: 'flex',\n alignItems: 'center',\n },\n menuContainer: (size: DropdownSize) =>\n ({\n position: 'relative',\n '&::after': {\n content: '\"\"',\n height: '100%',\n width: '100%',\n position: 'absolute',\n background: size === 'small' ? 'transparent' : v2Colors.core.snow,\n },\n }) as const,\n menuOptions: (size: DropdownSize) =>\n ({\n pointerEvents: 'none',\n zIndex: -1,\n position: 'absolute',\n top: size === 'small' ? '110%' : 'auto',\n bottom: size === 'small' ? 'auto' : '0',\n opacity: 0,\n right: 0,\n width: 'auto',\n transform: size === 'small' ? 'translateY(-1rem)' : 'translateY(0)',\n transition: `transform 300ms ease, z-index 300ms ${\n size === 'small' ? ' ease' : 'step-start'\n }, opacity 300ms ease`,\n boxShadow: shadows.soft,\n '& > *': {\n cursor: 'pointer',\n color: v2Colors.core.blackTarr,\n fontSize: size === 'small' ? '1.4rem' : '1.6rem',\n backgroundColor: v2Colors.core.snow,\n border: '1px solid #C1C9D6',\n padding: '1rem 2rem',\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n whiteSpace: 'nowrap',\n '&:hover': {\n backgroundColor: v2Colors.core.cloud,\n },\n '&:focus': {\n borderColor: v2Colors.core.innovation,\n color: v2Colors.core.innovation,\n outline: 'none',\n },\n '&:first-child': {\n borderTopRightRadius: size === 'small' ? '1rem' : '',\n borderTopLeftRadius: size === 'small' ? '1rem' : '',\n },\n '&:last-child': {\n borderBottomRightRadius: '1rem',\n borderBottomLeftRadius: '1rem',\n },\n },\n }) as const,\n menuOpen: (size: DropdownSize) =>\n ({\n zIndex: 900,\n transform: size === 'small' ? 'none' : 'translateY(100%)',\n opacity: '1',\n transition: `transform 300ms ease, z-index 300ms ${\n size === 'small' ? ' ease' : 'step-end'\n }, opacity 300ms ease`,\n pointerEvents: 'auto',\n }) as const,\n dropdownIcon: {\n verticalAlign: 'text-top',\n transition: 'transform 300ms ease',\n marginLeft: '1rem',\n },\n rotate: {\n transform: 'rotate(180deg)',\n },\n tooltip: {\n border: `1px solid ${v2Colors.core.smoke}`,\n color: v2Colors.core.blackTarr,\n backgroundColor: v2Colors.core.snow,\n boxShadow: shadows.soft,\n },\n background: {\n position: 'fixed',\n content: '\"\"',\n width: '100%',\n height: '100%',\n display: 'block',\n top: 0,\n left: 0,\n zIndex: 3,\n },\n} as const;\n","import React from 'react';\n\nexport function AdminLogoutIcon(props: React.SVGProps): JSX.Element {\n return (\n \n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\n\nexport function LayoutDashboardIcon({ ...other }: React.SVGProps): JSX.Element {\n return (\n \n \n \n \n \n \n );\n}\n","import React from 'react';\n\nexport function HistoryIcon({ ...other }: React.SVGProps): JSX.Element {\n return (\n \n \n \n \n \n );\n}\n","import { CMSLink } from '@components/CMSLink';\nimport { AdminLogoutIcon } from '@icon/AdminLogoutIcon';\nimport { LayoutDashboardIcon } from '@icon/LayoutDashboardIcon';\nimport { HistoryIcon } from '@icon/HistoryIcon';\nimport { logout } from '@services/authenticationPublicService';\nimport { useAtom, useSetAtom } from 'jotai';\nimport { logoutAtom, myAdminUserAtom } from '@atoms/authentication';\nimport { useStaticValues } from '@stateManagement/StaticValuesContext';\nimport React from 'react';\nimport { isEditingAtom, isSideNavbarVisibleAtom } from '@atoms/admin';\nimport { UserMenuOption } from '@models/adminUserMenu';\nimport { logError } from '@helpers/errors';\n\nconst classes = {\n menuOptionIcon: {\n verticalAlign: 'text-top',\n marginRight: '1rem',\n height: '1em',\n width: '1em',\n },\n};\n\ninterface AdminNavDropdownOptionsProps {\n optionKey: UserMenuOption;\n open: boolean;\n}\n\nexport function AdminNavDropdownOptions({ optionKey, open }: AdminNavDropdownOptionsProps): JSX.Element {\n const { myAdminBaseApiUrl } = useStaticValues();\n const setEditing = useSetAtom(isEditingAtom);\n const setSideNavbarVisible = useSetAtom(isSideNavbarVisibleAtom);\n const [myAdminUser] = useAtom(myAdminUserAtom);\n const [, userLogout] = useAtom(logoutAtom);\n\n const handleLogout = (): void => {\n logout(myAdminBaseApiUrl, myAdminUser && myAdminUser.sessionId)\n .then(() => {\n userLogout();\n setEditing(false);\n setSideNavbarVisible(false);\n })\n .then(() => (window.location.pathname = '/'))\n .catch((error) => logError(error, 'logging out'));\n };\n\n const dropdownOptions = {\n [UserMenuOption.Dashboard]: (\n \n \n Admin dashboard\n \n ),\n [UserMenuOption.Logout]: (\n \n ),\n [UserMenuOption.History]: (\n \n \n History\n \n ),\n };\n\n return dropdownOptions[optionKey];\n}\n","import React, { useState, useRef, useEffect } from 'react';\nimport { Grid, Tooltip } from '@mui/material';\nimport { getUserInfo } from '@services/authenticationPublicService';\nimport { UserDropdownIcon } from '@components/IconComponents/UserDropdownIcon';\nimport { useAccessiblePopout } from '@web-for-marketing/react-ui';\nimport { userMenuDropdownStyles as classes } from './styleObjects/userMenuDropdownStyles';\nimport { useAtom } from 'jotai';\nimport { isMobileAtom } from '@atoms/appSettings';\nimport { AdminNavDropdownOptions } from './AdminNavDropdownOptions';\nimport { UserMenuOption } from '@models/adminUserMenu';\nimport { AuthenticatedUserInfo } from '@models/user';\nimport { Text } from '@web-for-marketing/react-ui';\nimport { ClassNames } from '@emotion/react';\n\nexport type DropdownSize = 'regular' | 'small';\n\ninterface UserMenuDropdownProps {\n size?: DropdownSize;\n dropdownOptions: UserMenuOption[];\n}\n\nexport function UserMenuDropdown({ size = 'regular', dropdownOptions }: UserMenuDropdownProps): JSX.Element | null {\n const [isMobile] = useAtom(isMobileAtom);\n const [open, setOpen] = useState(false);\n const menu = useRef(null);\n const close = (): void => setOpen(false);\n const toggleOpen = (): void => setOpen((curValue) => !curValue);\n useAccessiblePopout(menu, open, close, { disableScroll: false });\n const [userInfo, setUserInfo] = useState(null);\n\n useEffect(() => {\n setUserInfo(getUserInfo());\n }, []);\n\n return userInfo !== null ? (\n <>\n
\n \n {({ css }) => (\n \n {' '}\n {userInfo.fullName}\n
\n Click for options{' '}\n \n ) : (\n ''\n )\n }\n classes={{ tooltip: css(classes.tooltip) }}\n placement='bottom'\n enterDelay={1000}\n >\n \n {userInfo.imageUrl ? (\n \n ) : (\n
\n {userInfo.firstName[0]}\n
\n )}\n \n {isMobile ? userInfo.firstName : userInfo.fullName}\n \n \n \n \n )}\n
\n \n {dropdownOptions.map((option) => (\n \n ))}\n \n
\n {open ? (\n
\n ) : null}\n \n ) : null;\n}\n","import { CookieKey } from '@models/cookie';\nimport { getCookie } from './cookieService';\n\nconst defaultHeaders: HeadersInit = { Accept: 'application/json', 'Content-Type': 'application/json' };\n\ninterface ErrorBody {\n Message?: string;\n StackTrace?: string;\n StatusCode?: number;\n}\n\nexport function httpGet(\n url: string,\n headers: HeadersInit | undefined = undefined,\n cache: RequestCache | null = null,\n returnOriginalError = false,\n includeAuthorizationHeader = true\n): Promise {\n const httpMethod = 'GET';\n const requestOptions = generateRequestOptions(httpMethod, headers, null, cache, includeAuthorizationHeader);\n return fetch(url, requestOptions).then(\n async (response) => await handleResponse(response, httpMethod, returnOriginalError)\n );\n}\n\nexport function httpPost(\n url: string,\n body: string | FormData | null = null,\n headers: HeadersInit | undefined = defaultHeaders\n): Promise {\n const httpMethod = 'POST';\n const requestOptions = generateRequestOptions(httpMethod, headers, body);\n return fetch(url, requestOptions).then(async (response) => await handleResponse(response, httpMethod));\n}\n\nexport function httpPut(url: string, body: string | null = null, headers = defaultHeaders): Promise {\n const httpMethod = 'PUT';\n const requestOptions = generateRequestOptions(httpMethod, headers, body);\n return fetch(url, requestOptions).then(async (response) => await handleResponse(response, httpMethod));\n}\n\nexport function httpPatch(\n url: string,\n body: string | null = null,\n headers: HeadersInit | undefined = defaultHeaders\n): Promise {\n const httpMethod = 'PATCH';\n const requestOptions = generateRequestOptions(httpMethod, headers, body);\n return fetch(url, requestOptions).then(async (response) => await handleResponse(response, httpMethod));\n}\n\nexport function httpDelete(url: string, headers: HeadersInit | undefined = undefined): Promise {\n const httpMethod = 'DELETE';\n const requestOptions = generateRequestOptions(httpMethod, headers);\n return fetch(url, requestOptions).then(async (response) => await handleResponse(response, httpMethod));\n}\n\nasync function handleResponse(response: Response, httpMethod: string, returnOriginalError = false): Promise {\n if (!response.ok) {\n let errorBody: ErrorBody = {};\n const text = await response.text();\n try {\n if (typeof text === 'string') {\n errorBody.Message = extractMessageFromText(text);\n errorBody.StatusCode = response.status;\n } else {\n errorBody = JSON.parse(text);\n errorBody.Message = errorBody.StackTrace?.split('\\n')[0];\n }\n } catch (e) {\n errorBody = {\n Message: 'An unknown error occurred.',\n StackTrace: '',\n StatusCode: response.status,\n };\n }\n\n console.error(`${httpMethod} failed with status code ${errorBody.StatusCode}: ${errorBody.Message}`);\n if (returnOriginalError) {\n throw { response, errorBody };\n }\n throw new Error(`Failed to ${httpMethod} with status code ${errorBody.StatusCode}: ${errorBody.Message}`);\n }\n\n return response;\n}\n\nfunction extractMessageFromText(text: string): string {\n try {\n const errorBody = JSON.parse(text);\n return errorBody.message || text;\n } catch {\n return text;\n }\n}\n\nfunction generateRequestOptions(\n httpMethod: string,\n headers: HeadersInit | undefined = undefined,\n body: string | FormData | null = null,\n cache: RequestCache | null = null,\n includeAuthorizationHeader = true\n): RequestInit {\n const requestOptions: RequestInit = { method: httpMethod };\n const jwtCookieValue = getCookie(CookieKey.CmsJwtToken);\n\n if (body) {\n requestOptions.body = body;\n }\n\n if (headers) {\n requestOptions.headers = headers;\n }\n\n if (includeAuthorizationHeader && jwtCookieValue) {\n requestOptions.headers = { ...requestOptions.headers, Authorization: `Bearer ${jwtCookieValue}` };\n }\n\n if (cache) {\n requestOptions.cache = cache;\n }\n\n return requestOptions;\n}\n","import { httpPost, httpDelete } from './apiService';\n\nexport async function getSessionId(myAdminBaseApiUrl, myAdminSource, userName, refreshToken) {\n let requestObject = JSON.stringify({ userName, refreshToken, source: myAdminSource });\n let response = await httpPost(`${myAdminBaseApiUrl}/Authenticate/OauthRefreshToken`, requestObject);\n var sessionId = await response.json();\n\n return validateSessionId(sessionId);\n}\n\nexport async function logoff(myAdminBaseApiUrl, sessionId) {\n let headers = { 'Auth-SessionId': sessionId };\n await httpDelete(`${myAdminBaseApiUrl}/Authenticate/LogOff/${sessionId}`, headers);\n}\n\nfunction validateSessionId(sessionId) {\n var guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\n if (!sessionId || !sessionId.match(guidRegex)) {\n console.warn('Invalid session ID returned.');\n throw new Error('Login failed.');\n }\n\n return sessionId;\n}\n","export interface AuthenticatedUserInfo {\n firstName: string;\n lastName: string;\n fullName: string;\n imageUrl: string;\n email: string;\n}\n\nexport const devUserInfoObject: AuthenticatedUserInfo = {\n firstName: 'WFM Dev',\n lastName: 'Member',\n fullName: 'WFM Dev Member',\n imageUrl:\n 'https://lh3.googleusercontent.com/fife/ABSRlIpbeJ2vSuu-ULG-hRooWXRk9cIFDOWlQ4rdepzJAsaQD_lGXJj-IHHQ6ylm1ObCa12ls4qxN5HrZAkAx_8Clmj_ym2VrzWREebbF8cIu2OmDa4-b04KHzTB0kb2e4Xd5M1dUlF1a58bQuVYoOAM4pwHV-qlqTz8gX0fZLEwTgMFmi5GTSmFRHwOFR3flYn-yjX0-VvbhZOFx7MMpFGpSFsIjO7u7mznnxhlcCacHYk8ZwaLhczBTRuKwbsZhkIsJX8rBZkVCVdWDE7XnA3Vc6r7mqUHXO6yfoX_NxEMcGdFl8OlsPS3buemEzKfqPE6nXpn5oTQGMJsnl6_C2eWhgFkFJi44HWUTJ3X2QHr6lkF3NfjAefuQlE96zeNS5elKg3HN-YAm0gi32emAH_2_s8UjKTJcVcG9ZnwUV1p7fn_kO1YY3p8nu6WCgLLdBmbF-Pk4kSbGrgiHZDvF7cXVAd0iHF3OMEM2Q9_p2_oKZg0TfbgzTfumnvJJhhljWEq-IvuX6svKUMO9MSmZcHm862iq41s6EZ5fntm1dIALAW60Tczrt-S9SoIEE7DAS3X3vqYxEwurOCIZtMhPiuCE1917PdSWLgNhp9qWEKiE3XZzKG5k7YAik0H75eC03nXODWIWWGaM0rT9GTodvwjJdcw1lE3tHY-6eKQaehGSEa2whz-2XkG5_epnpIhvUFxUjvFrNm4oD7X8MDskJzGf2M39wY7SzQ6oG8=w1920-h906-ft',\n email: 'wfmdevmember@geotab.com',\n};\n","import { getSessionId, logoff as myadminLogout } from './myAdminService';\nimport { httpDelete, httpPost } from './apiService';\nimport { deleteCookie, getCookie, setCookie } from './cookieService';\nimport { devUserInfoObject } from '@models/user';\nimport { CookieKey } from '@models/cookie';\n\nexport const login = async (myAdminBaseApiUrl, myAdminSource, userData, googleAccessToken) => {\n setCookie(CookieKey.AdminUserInfoKey, JSON.stringify(userData), 1);\n let myAdminSessionId = await getSessionId(myAdminBaseApiUrl, myAdminSource, userData.email, googleAccessToken);\n let myAdminUser = await cmsLogin(myAdminSessionId);\n\n return myAdminUser;\n};\n\nexport async function sendFailedLogin(username) {\n return await httpPost(`/api/authentication/failed-login/${username}`);\n}\n\nexport async function logout(myAdminBaseApiUrl, sessionId) {\n try {\n await cmsLogout();\n } catch (error) {\n console.warn(`Error logging out of local API: ${error.message}`);\n }\n\n try {\n await myadminLogout(myAdminBaseApiUrl, sessionId);\n } catch (error) {\n console.warn(`Error logging out of MyAdmin: ${error.message}`);\n }\n\n deleteCookie(CookieKey.AdminUserInfoKey);\n}\n\nexport async function cmsLogout() {\n await httpDelete('/api/authentication/');\n}\n\nasync function cmsLogin(myAdminSessionId) {\n try {\n let myAdminUser = (await httpPost(`/api/authentication/${myAdminSessionId}`)).json();\n return myAdminUser;\n } catch (error) {\n console.error('Error logging into CMS with MyAdmin session Id');\n console.error(error);\n\n if (error.message && error.message.includes('401')) {\n throw new Error('Unauthorized access. Please verify your roles in this environment.');\n }\n\n throw new Error('Failed to log in to the CMS. Please contact an administrator for assistance.');\n }\n}\n\nexport function getUserInfo() {\n const userInfo = typeof document !== 'undefined' ? getCookie(CookieKey.AdminUserInfoKey) : '';\n\n return userInfo === '' ? devUserInfoObject : JSON.parse(userInfo);\n}\n","import { atom } from 'jotai';\nimport { getLanguageByCode } from '@helpers/languages';\nimport { LanguageCode } from '@models/languageCode';\n\nexport const isEditorExpandedAtom = atom(false);\n\nexport const isNavbarExpandedAtom = atom(false);\n\nexport const enableNavbarExpansionAtom = atom(true);\n\nexport const adminLanguageAtom = atom(getLanguageByCode(LanguageCode.en));\n\nexport const isEditingAtom = atom(false);\n\nexport const isSideNavbarVisibleAtom = atom(true);\n"],"names":["UserDropdownIcon","props","_jsx","width","height","viewBox","stroke","fill","xmlns","children","d","UserMenuOption","userMenuDropdownStyles","dashboardLink","color","v2Colors","core","silver","textDecoration","fontSize","userButton","size","border","borderRadius","padding","background","snow","geotab","cursor","display","zIndex","alignItems","backgroundColor","cloud","borderColor","innovation","outline","userIcon","marginRight","imageIcon","textIcon","fontWeight","navItemContainer","menuContainer","position","content","menuOptions","pointerEvents","top","bottom","opacity","right","transform","transition","boxShadow","shadows","soft","blackTarr","whiteSpace","borderTopRightRadius","borderTopLeftRadius","borderBottomRightRadius","borderBottomLeftRadius","menuOpen","dropdownIcon","verticalAlign","marginLeft","rotate","tooltip","smoke","left","AdminLogoutIcon","_jsxs","strokeLinecap","strokeLinejoin","fillRule","clipRule","LayoutDashboardIcon","other","HistoryIcon","classes","menuOptionIcon","AdminNavDropdownOptions","optionKey","open","myAdminBaseApiUrl","useStaticValues","setEditing","useSetAtom","isEditingAtom","setSideNavbarVisible","isSideNavbarVisibleAtom","myAdminUser","useAtom","myAdminUserAtom","userLogout","logoutAtom","Dashboard","CMSLink","href","tabIndex","spaLink","css","Logout","onClick","handleLogout","logout","sessionId","then","window","location","pathname","catch","error","logError","History","UserMenuDropdown","dropdownOptions","isMobile","isMobileAtom","setOpen","useState","menu","useRef","close","toggleOpen","curValue","useAccessiblePopout","disableScroll","userInfo","setUserInfo","useEffect","getUserInfo","_Fragment","ref","ClassNames","Tooltip","title","fullName","placement","enterDelay","imageUrl","src","alt","firstName","Text","variant","Grid","container","component","map","option","defaultHeaders","Accept","httpGet","url","headers","undefined","cache","returnOriginalError","includeAuthorizationHeader","requestOptions","generateRequestOptions","fetch","async","handleResponse","response","httpPost","body","httpMethod","httpPatch","httpDelete","ok","errorBody","text","Message","JSON","parse","message","extractMessageFromText","StatusCode","status","StackTrace","split","e","console","Error","method","jwtCookieValue","getCookie","CookieKey","CmsJwtToken","Authorization","getSessionId","myAdminSource","userName","refreshToken","requestObject","stringify","source","guidRegex","match","warn","validateSessionId","json","devUserInfoObject","lastName","email","login","userData","googleAccessToken","setCookie","AdminUserInfoKey","myAdminSessionId","includes","cmsLogin","sendFailedLogin","username","cmsLogout","myadminLogout","deleteCookie","document","isEditorExpandedAtom","atom","isNavbarExpandedAtom","enableNavbarExpansionAtom","adminLanguageAtom","getLanguageByCode","LanguageCode","en"],"sourceRoot":""}