{"version":3,"file":"dist/build-client/static/js/Shared-NavigationMenu-UserMenu.88f6e09c.chunk.js","mappings":"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","sources":["Pages/LoginPage/Account.ts","Shared/NavigationMenu/UserMenu.tsx"],"sourcesContent":["import UserCredentials from '../../LoginPage/Models/UserCredentials.interface';\r\nimport { updateHeader } from '../../Shared/Models/Headers/useQueryHeader';\r\nimport { updateUserState } from '../../Shared/UserContextProvider/useQueryUserState';\r\n\r\nexport async function SignIn(\r\n userCredentials: UserCredentials,\r\n loginPageUrl: string,\r\n changePasswordUrl: string,\r\n channelId: string,\r\n setError: (value: boolean) => void,\r\n setValidationMessage: (value: string) => void,\r\n setIsLoading: (value: boolean) => void\r\n) {\r\n setIsLoading(true);\r\n setError(false);\r\n setValidationMessage('');\r\n const accountUrl = `/api/${userCredentials.language || 'en'}/account/`;\r\n const res = await fetch(`${accountUrl}SignIn`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'litium-request-context': JSON.stringify({\r\n channelSystemId: channelId,\r\n }),\r\n },\r\n body: JSON.stringify(userCredentials),\r\n });\r\n const data = await res.json();\r\n if (data && data.statusCode === 200) {\r\n if (data.message === 'Change password') {\r\n window.location.href = `${\r\n changePasswordUrl ? changePasswordUrl : data.redirectUrl\r\n }`;\r\n } else {\r\n window.location.href = `${\r\n loginPageUrl ? loginPageUrl : data.redirectUrl\r\n }`;\r\n }\r\n } else {\r\n setError(true);\r\n setValidationMessage(data.message);\r\n }\r\n setIsLoading(false);\r\n}\r\n\r\nexport async function SignOut(languageRoute: string, channelId: string) {\r\n const accountUrl = `/api/${languageRoute || 'en'}/account/`;\r\n const res = await fetch(`${accountUrl}SignOut`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'litium-request-context': JSON.stringify({\r\n channelSystemId: channelId,\r\n }),\r\n },\r\n });\r\n const data = await res.json();\r\n\r\n if (data.statusCode === 200) {\r\n window.location.href = `${data.redirectUrl}`;\r\n }\r\n}\r\n\r\nexport async function ChangePassword(\r\n userCredentials: UserCredentials,\r\n requestToken: string,\r\n languageRoute: string,\r\n channelId: string,\r\n setError: (value: boolean) => void,\r\n setValidationMessage: (value: string) => void,\r\n kexNavigate: (value: string) => void\r\n) {\r\n const accountUrl = `/api/${languageRoute || 'en'}/account/`;\r\n const res = await fetch(`${accountUrl}ChangePassword`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'litium-request-context': JSON.stringify({\r\n channelSystemId: channelId,\r\n }),\r\n RequestVerificationToken: requestToken,\r\n },\r\n body: JSON.stringify(userCredentials),\r\n });\r\n const data = await res.json();\r\n\r\n if (data.statusCode === 200) {\r\n updateHeader();\r\n updateUserState();\r\n } else {\r\n setError(true);\r\n setValidationMessage(data.message);\r\n }\r\n\r\n return data;\r\n}\r\n\r\nexport async function ChangeExpiredPassword(\r\n userCredentials: UserCredentials,\r\n changePasswordUrl: string,\r\n channelId: string,\r\n pageId: string,\r\n setSuccess: (value: boolean) => void,\r\n setError: (value: boolean) => void,\r\n setValidationMessage: (value: string) => void,\r\n setIsLoading: (value: boolean) => void\r\n) {\r\n const accountUrl = `/api/${userCredentials.language || 'en'}/account/`;\r\n const res = await fetch(\r\n `${accountUrl}ChangeExpiredPassword?pageId=${pageId}`,\r\n {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'litium-request-context': JSON.stringify({\r\n channelSystemId: channelId,\r\n }),\r\n },\r\n body: JSON.stringify(userCredentials),\r\n }\r\n );\r\n const data = await res.json();\r\n if (data && data.statusCode === 200) {\r\n window.location.href = `${\r\n changePasswordUrl ? changePasswordUrl : data.redirectUrl\r\n }`;\r\n } else {\r\n setError(true);\r\n setValidationMessage(data.message);\r\n }\r\n}\r\n","import { useRef, useState, useEffect } from 'react';\r\nimport { useHeaderData } from '../../Organisms/Header/Header';\r\nimport useOutsideClick from '../Hooks/useOutsideClick';\r\nimport { SignOut } from '../../Pages/LoginPage/Account';\r\nimport { useAppSettingsData } from '../Providers/AppSettingsProvider';\r\nimport { useTranslationData } from '../Providers/TranslationProvider';\r\nimport { useUserStateData } from '../UserContextProvider/UserContextProvider';\r\nimport KexLink from '../../Kex/KexLink';\r\nimport { Divider } from '../../Atoms/Divider/Divider';\r\nimport { styled } from '../../stitches.config';\r\nimport useCurrentPage from '../Hooks/useCurrentPage';\r\nimport { H2 } from '../../Atoms/Typography/Headings/Heading';\r\nimport { ArrowIcon, ProfileIcon } from '../../Atoms/Icons';\r\nimport IHeaderLinkModel from '../AutoMapInterfaces/IHeaderLinkModel.interface';\r\n\r\nexport type PropType = {\r\n isOpen: boolean;\r\n onMenuClose: () => void;\r\n};\r\n\r\nfunction UserMenu({ isOpen, onMenuClose }: PropType) {\r\n const { channelId } = useCurrentPage();\r\n const { profileLinks } = useHeaderData();\r\n const { fullName } = useUserStateData();\r\n const { staticPages, languageRoute } = useAppSettingsData();\r\n\r\n const {\r\n 'account/signOut': signOut,\r\n 'account/overview': myPageLabel,\r\n 'account/header': headerLabel,\r\n } = useTranslationData();\r\n\r\n const userMenuRef = useRef(null);\r\n const [renderUserMenu, setRenderUserMenu] = useState(false);\r\n\r\n const handleSignOut = async () => {\r\n await SignOut(languageRoute, channelId);\r\n onMenuClose();\r\n };\r\n\r\n useOutsideClick(userMenuRef, () => {\r\n isOpen && onMenuClose();\r\n });\r\n\r\n useEffect(() => {\r\n if (isOpen) {\r\n setRenderUserMenu(true);\r\n }\r\n }, [isOpen]);\r\n\r\n return (\r\n {\r\n !isOpen && setRenderUserMenu(false);\r\n }}\r\n >\r\n {renderUserMenu && (\r\n \r\n \r\n

{headerLabel}

\r\n {fullName}\r\n \r\n
\r\n \r\n onMenuClose()}\r\n >\r\n \r\n {myPageLabel}\r\n \r\n {profileLinks &&\r\n profileLinks.map((item: IHeaderLinkModel) => (\r\n onMenuClose()}\r\n >\r\n {item.text}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {signOut}\r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default UserMenu;\r\n\r\nconst dividerCss = {\r\n my: 4,\r\n};\r\n\r\nconst UserMenuContainer = styled('div', {\r\n backgroundColor: '$secondary',\r\n transitionDuration: '$300',\r\n transitionProperty: 'all',\r\n position: 'fixed',\r\n height: 'auto',\r\n right: 0,\r\n});\r\n\r\nconst Wrapper = styled('div', {\r\n minW: '320px',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n});\r\n\r\nconst Username = styled('div', {\r\n color: '$black',\r\n backgroundColor: '$backgroundAccent',\r\n px: 4,\r\n pt: 4,\r\n});\r\n\r\nconst List = styled('ul', {\r\n backgroundColor: '$backgroundAccent',\r\n listStyle: 'none',\r\n px: 0,\r\n pb: 4,\r\n m: 0,\r\n});\r\n\r\nconst StyledKexLink = styled(KexLink, {\r\n display: 'flex',\r\n alignItems: 'center',\r\n px: 4,\r\n fontWeight: '$fw700',\r\n '&:hover': {\r\n textDecoration: 'underline',\r\n },\r\n});\r\n\r\nconst Bottom = styled('div', {\r\n p: 4,\r\n textAlign: 'left',\r\n});\r\n\r\nconst SignOutButton = styled('button', {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n backgroundColor: '$backgroundPrimary',\r\n py: 4,\r\n fontWeight: '$fw700',\r\n cursor: 'pointer',\r\n '&:hover': {\r\n textDecoration: 'underline',\r\n },\r\n});\r\n"],"names":["SignIn","_x","_x2","_x3","_x4","_x5","_x6","_x7","_SignIn","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","userCredentials","loginPageUrl","changePasswordUrl","channelId","setError","setValidationMessage","setIsLoading","accountUrl","res","data","wrap","_context","prev","next","concat","language","fetch","method","headers","JSON","stringify","channelSystemId","body","sent","json","statusCode","message","window","location","href","redirectUrl","stop","SignOut","_x8","_x9","_SignOut","_callee2","languageRoute","_context2","ChangePassword","_x10","_x11","_x12","_x13","_x14","_x15","_x16","_ChangePassword","_callee3","requestToken","kexNavigate","_context3","RequestVerificationToken","updateHeader","updateUserState","abrupt","ChangeExpiredPassword","_x17","_x18","_x19","_x20","_x21","_x22","_x23","_x24","_ChangeExpiredPassword","_callee4","pageId","setSuccess","_context4","_ref","isOpen","onMenuClose","useCurrentPage","profileLinks","useHeaderData","fullName","useUserStateData","_useAppSettingsData","useAppSettingsData","staticPages","_useTranslationData","useTranslationData","signOut","myPageLabel","headerLabel","userMenuRef","useRef","_useState","useState","_useState2","_slicedToArray","renderUserMenu","setRenderUserMenu","handleSignOut","_ref2","useOutsideClick","useEffect","_jsx","UserMenuContainer","css","transform","onTransitionEnd","children","_jsxs","Wrapper","ref","Username","H2","noMargin","Divider","dividerCss","List","StyledKexLink","myPage","onClick","ArrowIcon","map","item","text","id","Bottom","SignOutButton","ProfileIcon","my","styled","backgroundColor","transitionDuration","transitionProperty","position","height","right","minW","display","flexDirection","color","px","pt","listStyle","pb","m","KexLink","alignItems","fontWeight","textDecoration","p","textAlign","justifyContent","py","cursor"],"sourceRoot":""}