{"version":3,"file":"UserProfileMenuWrapper.mjs","names":["React","FC","Button","makeStyles","IconButton","Link","useTranslation","MenuOpener","UserAvatar","FluentProfileMenuCard","ConfigService","useSingleLogout","useUserActions","useUser","useTenant","useStyles","theme","root","avatar","background","palette","secondary","main","UserProfileMenuWrapperProps","returnTo","UserProfileMenuWrapper","t0","$","_c","classes","t","user","singleLogout","tenantContext","currentTenant","activeTenant","t1","filteredTenantsList","tenantsList","availableTenants","enforcedTenantId","config","UNITY_TENANT_ID","t2","filter","option","tenantId","profileMenuTenants","fallbackPath","window","location","pathname","t3","t4","t5","state","t6","defaultValue","t7","ElementType","t8","name","email","Symbol","for","keepMounted","getContentAnchorEl","variant","anchorOrigin","vertical","horizontal","transformOrigin","UNITY_URL","t9"],"sources":["../../../../src/shell/ui/profile/UserProfileMenuWrapper.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Button, makeStyles, IconButton } from '@material-ui/core';\nimport { Link } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport MenuOpener from './MenuOpener';\nimport UserAvatar from './UserAvatar';\nimport { FluentProfileMenuCard } from './FluentProfileMenuCard';\nimport { ConfigService } from '../../../configService';\nimport { useSingleLogout, useUserActions } from '../../../utilities/auth';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {},\n  avatar: {\n    background: theme.palette.secondary.main\n  }\n}));\n\n\n\nexport interface UserProfileMenuWrapperProps {\n  returnTo?: string;\n}\n\nexport const UserProfileMenuWrapper: FC<UserProfileMenuWrapperProps> = ({\n  returnTo\n}) => {\n  const classes = useStyles();\n  const { t } = useTranslation();\n  const user = useUser();\n  const singleLogout = useSingleLogout();\n  const tenantContext = useTenant();\n\n  const currentTenant = tenantContext?.activeTenant ?? null;\n  const availableTenants =\n    tenantContext?.filteredTenantsList ??\n    tenantContext?.tenantsList ??\n    [];\n\n  const enforcedTenantId = ConfigService.config.UNITY_TENANT_ID;\n\n  const profileMenuTenants =\n    !enforcedTenantId || enforcedTenantId === ''\n      ? availableTenants\n      : availableTenants.filter(\n          (option) => option.tenantId === enforcedTenantId\n        );\n\n  if (!user) {\n    const fallbackPath =\n      returnTo ??\n      (typeof window !== 'undefined' ? window.location.pathname : '/');\n\n    return (\n      <div className={classes.root}>\n        <Button\n          component={Link as React.ElementType} // react-router-dom@5 is incompatible with @types/react@18 so we have to assert the type manually\n          to={{\n            pathname: '/login',\n            state: { returnTo: fallbackPath ?? '/' }\n          }}\n          color='inherit'\n        >\n          {t('shell.profile.signIn', { defaultValue: 'Sign in' })}\n        </Button>\n      </div>\n    );\n  }\n\n  return (\n    <div className={classes.root}>\n      <MenuOpener\n       name = \"udp-user-profile-popover\"\n        button={\n          <IconButton>\n            <UserAvatar\n              name={user?.name}\n              email={user?.email}\n              size='toolbar'\n              className={classes.avatar}\n            />\n          </IconButton>\n        }\n        menuProps={{\n          keepMounted: true,\n          getContentAnchorEl: null,\n          variant: 'menu',\n          anchorOrigin: { vertical: 'bottom', horizontal: 'right' },\n          transformOrigin: { vertical: 'top', horizontal: 'right' }\n        }}\n      >\n        <FluentProfileMenuCard\n          userTenants={profileMenuTenants}\n          currentTenant={currentTenant}\n          user={user}\n          logout={singleLogout}\n          unityUrl={ConfigService.config.UNITY_URL}\n        />\n      </MenuOpener>\n    </div>\n  );\n};\n\nexport default UserProfileMenuWrapper;\n"],"mappings":"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"}