{"version":3,"sources":["components/WelcomePage/Welcome.module.scss","images/str-group-color.svg","components/HiVibeForms/HiVibeNewForm.module.scss","components/Layout/Layout.tsx","components/AuthenticationProvider/AuthenticationConfig.ts","components/AuthenticationProvider/AuthenticationProvider.tsx","components/WelcomePage/Welcome.tsx","components/HiVibeForms/HiVibeNewForm.tsx","components/HiVibeForms/HiVibeDisplayForm.tsx","dataprovider/HttpService.ts","dataprovider/DataProvider.ts","App.tsx","registerServiceWorker.js","index.js","components/HiVibeForms/HiVibeDisplayForm.module.scss"],"names":["module","exports","Layout","props","this","children","React","displayName","name","msalConfig","auth","authority","clientId","navigateToLoginRequestUrl","cache","cacheLocation","storeAuthStateInCookie","loginRequest","scopes","graphConfig","fetchMsGraph","url","accessToken","a","fetch","headers","Authorization","response","json","LockIcon","Icon","style","marginRight","fontSize","iconName","AuthenticatedComponent","componentProps","useRedirectForAuthentication","msalInstance","requiresInteraction","errorCode","length","handleResponse","resp","loginRequestNew","account","acquireToken","catch","error","setState","message","tokenResponse","user","token","isUserAuthenticated","isAuthenticating","currentAccounts","getAllAccounts","Providers","globalProvider","ProviderState","SignedIn","request","redirect","acquireTokenSilent","console","warn","InteractionRequiredAuthError","acquireTokenRedirect","then","log","acquireTokenPopup","onSignIn","loginRedirect","loginPopup","loginResponse","state","skipSignIn","applicationSettings","authenticationSettings","dataProvider","getApplicationSettings","msalConfigFromServer","msalConfigUpdated","msal","component","SimpleProvider","handleRedirectPromise","err","SignedOut","logout","Stack","className","horizontalAlign","verticalAlign","reversed","userAccount","MessageBar","onDismiss","messageBarType","MessageBarType","isMultiline","truncated","PrimaryButton","text","onClick","allowDisabledFocus","WelcomePage","prevProps","prevState","applicationLabels","themes","cards","styles","root","css","container","page","header","to","logo","contentContainer","home","login_heading_1","mAuto","pt5","floatRight","colLg4","tagLine","login_heading_2","messageBox","login_subHeading_Greetings","pb2","login_subHeading_LogIn","login_subHeading_LoggedInAlready","pt2","PageURL","SendHiVibe","btn","btnPrimary","p3","submitCard","login_button_GoToHiVibe","disclaimer","pt4","login_disclaimer","messageFooter","divider","pt3","login_subHeading_ColleagueSkill","login_subHeading_SendHiVibe","footer","appLogo","loggingInContainer","loggingInLoader","readOnlyTextBoxStyles","wrapper","flexDirection","borderBottom","padding","color","fontWeight","lineHeight","height","fontFamily","fieldGroup","flex","background","paddingLeft","width","opacity","HiVibeNewForm","themeCallOutProps","role","gapSpace","target","chooseTheme","fontIconText","directionalHint","DirectionalHint","rightCenter","isThemeCalloutVisible","setInitialFocus","preventDismissOnResize","preventDismissOnScroll","preventDismissOnLostFocus","onClickPage","e","composedPath","indexOfEmojiPicker","findIndex","x","classList","contains","indexOfEmojiPickerIcon","emojiIcon","isEmojiPickerVisible","hideSpinnerAndShowSuccessMessage","messageType","success","showWaitingSpinner","showMessage","window","setTimeout","resetMessageBar","undefined","hideSpinnerAndShowErrorMessage","errorAreaName","logErrorInConsole","extractErrorMessageFromErrorObject","onChangePeoplePicker","hiVibe","errorState","spUsers","users","selectedPeople","index","email","person","scoredEmailAddresses","address","userPrincipalName","receivers","errorMessage","error_message_ExternalUser","showError","mail","push","EMail","Title","Id","Name","onChangeTextField","event","newValue","addEmoji","emoji","native","openThemeCallout","otherTheme","openCardCallout","isCardCalloutVisible","selectTheme","themeKey","themeTitle","theme","selectCard","card","onClickUseThemButton","otherThemeError","error_message_Required","onClickSendHiVibeButton","isFormValid","createHiVibe","result","isRead","document","querySelector","selectUsersById","success_message_HiVibeCreated","renderThemeCalloutContent","themeContainerCallout","form_label_ThanksFor","themeList","Object","entries","map","i","themeTextContainer","key","themeText","FontIcon","fontIconTextTheme","sender","jobTitle","country","officeLocation","department","locale","navigator","language","isLoading","imageLoaded","getElementById","addEventListener","removeEventListener","location","history","outerWidth","fileNameParts","split","thumbnailNameCard","commonStyles","horizontal","chooseSection","form_label_ChooseTheme","themeSelected","chooseCard","form_label_ChooseCard","cardSelected","src","cardThumbnail","row","TextField","label","form_label_YourName","underlined","disabled","defaultValue","form_label_YourEMail","flexColumn","labelForm","form_label_Recipient","type","PersonType","any","groupType","GroupType","mailenabledsecurity","selectionMode","placeholder","showMax","selectionChanged","multiline","hasErrorMessage","marginBottom","rows","form_label_YourMessage","value","onChange","emojiContainer","emojiPicker","closeBar","closeIcon","title","form_label_SelectEmoji","onSelect","Spinner","size","SpinnerSize","large","ariaLive","form_Button_SendYourHiVibe","Modal","isBlocking","isOpen","FocusTrapCallout","FocusZone","Callout","cardContainer","thumbnailName","shimmerElementGroup","ShimmerElementsGroup","shimmerElements","ShimmerElementType","line","isImageLoaded","Shimmer","display","isDataLoaded","customElementsGroup","onLoad","alt","HiVibeDisplayForm","showOrderSuccessMessage","id","URLSearchParams","search","get","requestId","promiseArray","getHiVibe","Promise","all","cardBox","cardImage","backgroundImage","themeContainer","straumannLogo","link","form_label_SendYourOwnHiVibe","HttpService","body","method","languages","join","JSON","stringify","ok","errorString","parse","Error","DataProvider","apiEndpointSP","apiEndpointPayment","apiEndpointAppSettings","currentUserEmail","currentUserName","data","post","order","errorArea","errorObj","logError","stack","msg","indexOf","substring","trim","HiVibe","App","indexedDB","deleteDatabase","AuthenticatedCreationForm","AuthProvider","AuthenticatedDisplayForm","exact","path","render","Component","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","initializeIcons","baseUrl","getElementsByTagName","getAttribute","rootElement","ReactDOM","basename","URL","process","origin","status","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.76e93c22.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"h1\":\"Welcome_h1__3_icJ\",\"h2\":\"Welcome_h2__WUoBI\",\"h3\":\"Welcome_h3__1MvLv\",\"h4\":\"Welcome_h4__2xn6r\",\"h5\":\"Welcome_h5__21iTO\",\"h6\":\"Welcome_h6__3_JAB\",\"pb2\":\"Welcome_pb2__19gAt\",\"py2\":\"Welcome_py2__2C9OZ\",\"pt2\":\"Welcome_pt2__1yy6h\",\"pt4\":\"Welcome_pt4__hsBkM\",\"py4\":\"Welcome_py4__3wJ-Q\",\"p3\":\"Welcome_p3__3uKXn\",\"btn\":\"Welcome_btn__I_F4m\",\"btnPrimary\":\"Welcome_btnPrimary__1-miT\",\"disabled\":\"Welcome_disabled__1d1_Y\",\"col\":\"Welcome_col__12izF\",\"col1\":\"Welcome_col1__2yyhN\",\"col2\":\"Welcome_col2__1MtJU\",\"col3\":\"Welcome_col3__1Nu4y\",\"col4\":\"Welcome_col4___9-vD\",\"col5\":\"Welcome_col5__3wvfb\",\"col6\":\"Welcome_col6__2LoAP\",\"col7\":\"Welcome_col7__24_Sz\",\"col8\":\"Welcome_col8__3Wkax\",\"col9\":\"Welcome_col9__yF8J7\",\"col10\":\"Welcome_col10__3AzBY\",\"col11\":\"Welcome_col11__dlwdY\",\"col12\":\"Welcome_col12__1ghGc\",\"colAuto\":\"Welcome_colAuto__2Ec8L\",\"colLg\":\"Welcome_colLg__2LAY0\",\"colLg1\":\"Welcome_colLg1__WrWJW\",\"colLg2\":\"Welcome_colLg2__3-D40\",\"colLg3\":\"Welcome_colLg3__3M8dE\",\"colLg4\":\"Welcome_colLg4__jpIXk\",\"colLg5\":\"Welcome_colLg5__1vg6t\",\"colLg6\":\"Welcome_colLg6__1yBRZ\",\"colLg7\":\"Welcome_colLg7__2ica0\",\"colLg8\":\"Welcome_colLg8__3rVXK\",\"colLg9\":\"Welcome_colLg9__391gP\",\"colLg10\":\"Welcome_colLg10__3kXra\",\"colLg11\":\"Welcome_colLg11__1WRbe\",\"colLg12\":\"Welcome_colLg12__2uWiq\",\"colLgAuto\":\"Welcome_colLgAuto__2s640\",\"colMd\":\"Welcome_colMd__G8ou-\",\"colMd1\":\"Welcome_colMd1__1pJx-\",\"colMd2\":\"Welcome_colMd2__3mnKg\",\"colMd3\":\"Welcome_colMd3__1v6-I\",\"colMd4\":\"Welcome_colMd4__Ql6dv\",\"colMd5\":\"Welcome_colMd5__3Ec9F\",\"colMd6\":\"Welcome_colMd6__2wAkQ\",\"colMd7\":\"Welcome_colMd7__10Fve\",\"colMd8\":\"Welcome_colMd8__39a4r\",\"colMd9\":\"Welcome_colMd9__3XMS_\",\"colMd10\":\"Welcome_colMd10__3Iy-u\",\"colMd11\":\"Welcome_colMd11__1dGIf\",\"colMd12\":\"Welcome_colMd12__1nMxM\",\"colMdAuto\":\"Welcome_colMdAuto__2pKMj\",\"colSm\":\"Welcome_colSm__2KqXg\",\"colSm1\":\"Welcome_colSm1__1Ztrf\",\"colSm2\":\"Welcome_colSm2__1rSJd\",\"colSm3\":\"Welcome_colSm3__tmxCJ\",\"colSm4\":\"Welcome_colSm4__h0GYy\",\"colSm5\":\"Welcome_colSm5__2tBcU\",\"colSm6\":\"Welcome_colSm6__1QOwi\",\"colSm7\":\"Welcome_colSm7__3VCwO\",\"colSm8\":\"Welcome_colSm8__3kkhi\",\"colSm9\":\"Welcome_colSm9__2OEwX\",\"colSm10\":\"Welcome_colSm10__XVqL2\",\"colSm11\":\"Welcome_colSm11__1WLTZ\",\"colSm12\":\"Welcome_colSm12__3AvkN\",\"colSmAuto\":\"Welcome_colSmAuto__3gbgc\",\"colXl\":\"Welcome_colXl__uBq4N\",\"colXl1\":\"Welcome_colXl1__2BIQ0\",\"colXl2\":\"Welcome_colXl2__2A2oL\",\"colXl3\":\"Welcome_colXl3__72Kdn\",\"colXl4\":\"Welcome_colXl4__20_2e\",\"colXl5\":\"Welcome_colXl5__1y5L3\",\"colXl6\":\"Welcome_colXl6__i7SJV\",\"colXl7\":\"Welcome_colXl7__3GPvR\",\"colXl8\":\"Welcome_colXl8__1Q05U\",\"colXl9\":\"Welcome_colXl9__3pa1H\",\"colXl10\":\"Welcome_colXl10__2DFh1\",\"colXl11\":\"Welcome_colXl11__qh1gQ\",\"colXl12\":\"Welcome_colXl12__HgEn2\",\"colXlAuto\":\"Welcome_colXlAuto__fmLFY\",\"mAuto\":\"Welcome_mAuto__1Ut0h\",\"pt5\":\"Welcome_pt5__1nH3s\",\"py5\":\"Welcome_py5__1Hrm2\",\"floatRight\":\"Welcome_floatRight__VJzfz\",\"root\":\"Welcome_root__2acDy\",\"container\":\"Welcome_container__2kxBQ\",\"header\":\"Welcome_header__3Q47e\",\"logo\":\"Welcome_logo__2cfdO\",\"appLogo\":\"Welcome_appLogo__3tgEi\",\"footer\":\"Welcome_footer__3wdVL\",\"contentContainer\":\"Welcome_contentContainer__2QqcS\",\"home\":\"Welcome_home__2OAIm\",\"tagLine\":\"Welcome_tagLine__2A-2E\",\"messageBox\":\"Welcome_messageBox__3mLFC\",\"message\":\"Welcome_message__1lSpb\",\"messageFooter\":\"Welcome_messageFooter__1mXRz\",\"message-footer\":\"Welcome_message-footer__24gvu\",\"disclaimer\":\"Welcome_disclaimer__26BG0\"};","module.exports = __webpack_public_path__ + \"static/media/str-group-color.eb81fc59.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fontIconText\":\"HiVibeNewForm_fontIconText__1P2Xt\",\"chooseTheme\":\"HiVibeNewForm_chooseTheme__1SpIQ\",\"chooseCard\":\"HiVibeNewForm_chooseCard__3KewI\",\"themeContainerCallout\":\"HiVibeNewForm_themeContainerCallout__2Mg3w\",\"themeList\":\"HiVibeNewForm_themeList__30lSr\",\"themeTextContainer\":\"HiVibeNewForm_themeTextContainer__1hG9h\",\"themeText\":\"HiVibeNewForm_themeText__2JPHK\",\"fontIconTextTheme\":\"HiVibeNewForm_fontIconTextTheme__mC8z6\",\"chooseSection\":\"HiVibeNewForm_chooseSection__1PM4l\",\"themeSelected\":\"HiVibeNewForm_themeSelected__1V5Om\",\"cardSelected\":\"HiVibeNewForm_cardSelected__J7HAI\",\"cardThumbnail\":\"HiVibeNewForm_cardThumbnail__21Ek1\",\"cardContainer\":\"HiVibeNewForm_cardContainer__3bgZB\",\"card\":\"HiVibeNewForm_card__2adVn\",\"row\":\"HiVibeNewForm_row__5htOF\",\"emojiContainer\":\"HiVibeNewForm_emojiContainer__AFCA8\",\"emojiIcon\":\"HiVibeNewForm_emojiIcon__3R2YS\",\"emojiPicker\":\"HiVibeNewForm_emojiPicker__vfj8B\",\"closeBar\":\"HiVibeNewForm_closeBar__3dKtD\",\"closeIcon\":\"HiVibeNewForm_closeIcon__1c7DG\",\"submitCard\":\"HiVibeNewForm_submitCard__10oP9\",\"flexColumn\":\"HiVibeNewForm_flexColumn__2LWx_\",\"labelForm\":\"HiVibeNewForm_labelForm__25-5X\",\"useButton\":\"HiVibeNewForm_useButton__tP5_l\"};","import * as React from 'react';\r\n// import './Layout.scss';\r\n// import logo from '../../images/str-group-white.svg';\r\n// import { Link } from 'react-router-dom';\r\n\r\n// import { Stack } from '@fluentui/react';\r\n\r\nexport class Layout extends React.Component {\r\n static displayName = Layout.name;\r\n // private year = new Date().getFullYear();\r\n\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n <>{this.props.children}\r\n );\r\n }\r\n}\r\n","export const msalConfig = {\r\n auth: {\r\n authority: 'https://login.microsoftonline.com/d2c36cc7-0f21-42d6-811b-0c732a0ac4a6',\r\n clientId: '2ab2d63e-80f9-4ba8-bd9c-d41a256201df',\r\n // redirectUri: window.location.origin + window.location.pathname,\r\n navigateToLoginRequestUrl: true,\r\n },\r\n cache: {\r\n cacheLocation: \"sessionStorage\", // This configures where your cache will be stored\r\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\r\n }\r\n};\r\n\r\n// Add scopes here for ID token to be used at Microsoft identity platform endpoints.\r\nexport const loginRequest = {\r\n scopes: [\"openid\", \"profile\", \"User.Read\", \"User.Read.All\", \"People.Read\", \"User.ReadBasic.All\",\"Group.Read.All\", \"GroupMember.Read.All\"]\r\n};\r\n\r\n// Add scopes here for access token to be used at Microsoft Graph API endpoints.\r\nexport const tokenRequest = {\r\n scopes: [\"User.Read\", \"Mail.Read\", \"User.Read.All\"]\r\n};\r\n\r\nexport const graphConfig = {\r\n graphMeEndpoint: \"https://graph.microsoft.com/v1.0/me?$select=mail,displayName,jobTitle,department,officeLocation,userPrincipalName,country\",\r\n graphMailEndpoint: \"https://graph.microsoft.com/v1.0/me/messages\"\r\n};\r\n\r\n// export const msalInstance = new msal.PublicClientApplication(msalConfig);\r\n\r\nexport const fetchMsGraph = async (url: string, accessToken: string) => {\r\n const response = await fetch(url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`\r\n }\r\n });\r\n\r\n return response.json();\r\n};","import * as React from \"react\";\r\nimport * as msal from \"@azure/msal-browser\";\r\nimport { Stack, PrimaryButton, MessageBar, MessageBarType } from '@fluentui/react';\r\nimport { fetchMsGraph, graphConfig, loginRequest, msalConfig } from './AuthenticationConfig';\r\nimport { InteractionRequiredAuthError } from \"@azure/msal-browser\";\r\nimport { Icon } from '@fluentui/react/lib/Icon';\r\nimport HttpService from \"../../dataprovider/HttpService\";\r\nimport { IDataProvider } from \"../../dataprovider/IDataProvider\";\r\nimport { IApplicationSettings, IAuthenticationSettings } from \"../../Models\";\r\nimport { Providers, ProviderState, SimpleProvider } from '@microsoft/mgt-element'\r\n\r\nconst LockIcon = () => ;\r\n\r\ninterface AuthenticatedComponentProps {\r\n dataProvider: IDataProvider;\r\n}\r\n\r\ninterface AuthenticatedComponentState {\r\n account: any | null,\r\n token: any | null,\r\n error: any | null,\r\n isUserAuthenticated: boolean\r\n isAuthenticating: boolean\r\n}\r\n\r\nexport default (AuthenticatedComponent: any, componentProps: { applicationSettings: IApplicationSettings; } | undefined) =>\r\n class AuthProvider extends React.Component {\r\n private useRedirectForAuthentication = true;\r\n private msalInstance: any;\r\n\r\n constructor(props: AuthenticatedComponentProps) {\r\n super(props);\r\n\r\n this.state = {\r\n account: null,\r\n token: null,\r\n error: null,\r\n isUserAuthenticated: false,\r\n isAuthenticating: true,\r\n };\r\n\r\n console.log(\"AuthenticatedComponentProps: \", props);\r\n\r\n }\r\n\r\n async componentDidMount() {\r\n let skipSignIn = false;\r\n let msalConfigFromServer: IAuthenticationSettings;\r\n\r\n console.log(\"componentDidMount: \");\r\n\r\n if (!componentProps || !componentProps.applicationSettings || !componentProps.applicationSettings.authenticationSettings) {\r\n let applicationSettings: IApplicationSettings = await this.props.dataProvider.getApplicationSettings();\r\n componentProps = { applicationSettings: applicationSettings }\r\n }\r\n\r\n msalConfigFromServer = componentProps.applicationSettings.authenticationSettings;\r\n\r\n let msalConfigUpdated = {\r\n ...msalConfig\r\n };\r\n\r\n msalConfigUpdated.auth = {\r\n clientId: msalConfigFromServer.clientId,\r\n authority: msalConfigFromServer.authority,\r\n navigateToLoginRequestUrl: msalConfig.auth.navigateToLoginRequestUrl\r\n };\r\n\r\n console.log(\"msalConfig: \", msalConfigUpdated);\r\n\r\n this.msalInstance = new msal.PublicClientApplication(msalConfigUpdated);\r\n const component = this;\r\n\r\n Providers.globalProvider = new SimpleProvider(async function (scopes) {\r\n var request = { scopes: scopes };\r\n let currentAccounts = component.msalInstance.getAllAccounts();\r\n const loginRequestNew = { ...loginRequest, account: currentAccounts[0] };\r\n\r\n try {\r\n let response = await component.msalInstance.acquireTokenSilent(loginRequestNew);\r\n return response.accessToken;\r\n } catch (error) {\r\n if (component.requiresInteraction(error.errorCode)) {\r\n component.msalInstance.acquireTokenRedirect(request);\r\n }\r\n }\r\n });\r\n\r\n await this.msalInstance.handleRedirectPromise().then(this.handleResponse).catch((err: any) => {\r\n console.error(err);\r\n if (err.errorCode === 'access_denied') {\r\n skipSignIn = true;\r\n Providers.globalProvider.setState(ProviderState.SignedOut);\r\n this.setState({\r\n account: null,\r\n token: null,\r\n error: null,\r\n isUserAuthenticated: false,\r\n isAuthenticating: false,\r\n })\r\n }\r\n });\r\n\r\n if (!skipSignIn) {\r\n let currentAccounts: any[];\r\n\r\n currentAccounts = this.msalInstance.getAllAccounts();\r\n\r\n if (currentAccounts === null || currentAccounts.length === 0) {\r\n this.onSignIn(this.useRedirectForAuthentication);\r\n } else if (currentAccounts.length > 1) {\r\n // Add choose account code here\r\n console.warn(\"Multiple accounts detected.\");\r\n } else if (currentAccounts.length === 1) {\r\n const loginRequestNew = { ...loginRequest, account: currentAccounts[0] };\r\n\r\n const tokenResponse = await this.acquireToken(loginRequestNew, this.useRedirectForAuthentication)\r\n .catch(error => {\r\n this.setState({\r\n error: error.message\r\n });\r\n });\r\n\r\n if (tokenResponse) {\r\n const user = await fetchMsGraph(graphConfig.graphMeEndpoint,tokenResponse.accessToken);\r\n this.setState({\r\n account: user,\r\n token: currentAccounts[0],\r\n error: null,\r\n isUserAuthenticated: true,\r\n isAuthenticating: false,\r\n })\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n private requiresInteraction = (errorCode: string) => {\r\n if (!errorCode || !errorCode.length) {\r\n return false;\r\n }\r\n return (\r\n errorCode === 'consent_required' || errorCode === 'interaction_required' || errorCode === 'login_required'\r\n );\r\n }\r\n\r\n private handleResponse = async (resp: any) => {\r\n\r\n if (resp !== null) {\r\n const loginRequestNew = { ...loginRequest, account: resp.account };\r\n const tokenResponse = await this.acquireToken(loginRequestNew, this.useRedirectForAuthentication)\r\n .catch(error => {\r\n this.setState({\r\n error: error.message\r\n });\r\n });\r\n\r\n if (tokenResponse) {\r\n const user = await fetchMsGraph(graphConfig.graphMeEndpoint,tokenResponse.accessToken);\r\n this.setState({\r\n account: user,\r\n token: resp.account,\r\n error: null,\r\n isUserAuthenticated: true,\r\n isAuthenticating: false,\r\n })\r\n\r\n }\r\n } else {\r\n // need to call getAccount here?\r\n const currentAccounts = this.msalInstance.getAllAccounts();\r\n if (!currentAccounts || currentAccounts.length < 1) {\r\n return;\r\n } else if (currentAccounts.length > 1) {\r\n // Add choose account code here\r\n } else if (currentAccounts.length === 1) {\r\n const loginRequestNew = { ...loginRequest, account: currentAccounts[0] };\r\n\r\n const tokenResponse = await this.acquireToken(loginRequestNew, this.useRedirectForAuthentication)\r\n .catch(error => {\r\n this.setState({\r\n error: error.message\r\n });\r\n });\r\n\r\n if (tokenResponse) {\r\n const user = await fetchMsGraph(graphConfig.graphMeEndpoint,tokenResponse.accessToken);\r\n this.setState({\r\n account: user,\r\n token: currentAccounts[0],\r\n error: null,\r\n isUserAuthenticated: true,\r\n isAuthenticating: false,\r\n });\r\n\r\n }\r\n }\r\n }\r\n\r\n Providers.globalProvider.setState(ProviderState.SignedIn);\r\n }\r\n\r\n\r\n acquireToken = async (request: any, redirect: boolean) => {\r\n return this.msalInstance.acquireTokenSilent(request).catch((error: any) => {\r\n console.warn(\"silent token acquisition fails. acquiring token using redirect\");\r\n if (error instanceof InteractionRequiredAuthError) {\r\n // fallback to interaction when silent call fails\r\n if (redirect)\r\n return this.msalInstance.acquireTokenRedirect(request)\r\n .then((tokenResponse: any) => {\r\n console.log(tokenResponse);\r\n return tokenResponse;\r\n }).catch((error: any) => {\r\n console.error(error);\r\n });\r\n else\r\n return this.msalInstance.acquireTokenPopup(request)\r\n .then((tokenResponse: any) => {\r\n console.log(tokenResponse);\r\n return tokenResponse;\r\n }).catch((error: any) => {\r\n console.error(error);\r\n });\r\n\r\n } else {\r\n console.warn(error);\r\n }\r\n });\r\n }\r\n\r\n onSignIn = async (redirect: boolean) => {\r\n if (redirect) {\r\n return this.msalInstance.loginRedirect({\r\n ...loginRequest\r\n });\r\n }\r\n\r\n const loginResponse = await this.msalInstance\r\n .loginPopup(loginRequest)\r\n .catch((error: any) => {\r\n this.setState({\r\n error: error.message\r\n });\r\n });\r\n\r\n\r\n if (loginResponse) {\r\n const loginRequestNew = { ...loginRequest, account: loginResponse.account };\r\n\r\n const tokenResponse = await this.acquireToken(loginRequestNew, this.useRedirectForAuthentication).catch(error => {\r\n this.setState({\r\n error: error.message\r\n });\r\n });\r\n\r\n if (tokenResponse) {\r\n const user = await fetchMsGraph(graphConfig.graphMeEndpoint,tokenResponse.accessToken);\r\n this.setState({\r\n account: user,\r\n token: loginResponse.account,\r\n error: null,\r\n isUserAuthenticated: true,\r\n isAuthenticating: false,\r\n })\r\n }\r\n }\r\n }\r\n\r\n onSignOut() {\r\n this.msalInstance.logout();\r\n Providers.globalProvider.setState(ProviderState.SignedOut);\r\n }\r\n\r\n render() {\r\n const { error, account, isUserAuthenticated, isAuthenticating, token } = this.state;\r\n\r\n if (isAuthenticating) {\r\n return (\r\n \r\n Trying to Log-In\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
);\r\n }\r\n else {\r\n if (isUserAuthenticated) {\r\n return (\r\n \r\n );\r\n }\r\n else {\r\n return (\r\n \r\n {\r\n error ?\r\n {\r\n this.setState({\r\n error: null\r\n });\r\n }}\r\n messageBarType={MessageBarType.error}\r\n isMultiline={true}\r\n truncated={true}\r\n >\r\n {error}\r\n \r\n : null\r\n }\r\n

Please sign-in into your account to access this page.

\r\n {\r\n this.onSignIn(true);\r\n }}\r\n allowDisabledFocus\r\n />\r\n
\r\n );\r\n }\r\n }\r\n\r\n }\r\n };\r\n","import * as React from 'react';\r\nimport { css, Stack } from '@fluentui/react';\r\nimport { PageURL } from '../../App';\r\nimport styles from './Welcome.module.scss';\r\nimport { IApplicationSettings } from '../../Models';\r\nimport { IDataProvider } from '../../dataprovider/IDataProvider';\r\nimport { Link } from 'react-router-dom';\r\n\r\n\r\nexport interface IWelcomePageProps {\r\n location?: Location;\r\n history?: any;\r\n dataProvider: IDataProvider;\r\n applicationSettings?: IApplicationSettings;\r\n}\r\n\r\nexport interface IWelcomePageState {\r\n applicationSettings?: IApplicationSettings;\r\n}\r\n\r\nexport default class WelcomePage extends React.Component {\r\n\r\n constructor(props: IWelcomePageProps) {\r\n super(props);\r\n this.state = {\r\n applicationSettings: props.applicationSettings\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps: IWelcomePageProps, prevState: IWelcomePageState) {\r\n if (!prevProps.applicationSettings && this.props.applicationSettings) {\r\n this.setState({\r\n applicationSettings: this.props.applicationSettings\r\n });\r\n }\r\n }\r\n\r\n public render() {\r\n\r\n if (!this.state.applicationSettings)\r\n return (\r\n \r\n Loading\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n else {\r\n\r\n const { applicationLabels, authenticationSettings, themes, cards } = this.state.applicationSettings;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
ARISE
\r\n \r\n
\r\n
\r\n

{applicationLabels.login_heading_1}

\r\n

{applicationLabels.login_heading_2}

\r\n
\r\n
\r\n
\r\n

{applicationLabels.login_subHeading_Greetings}

\r\n

{applicationLabels.login_subHeading_LogIn}

\r\n
{applicationLabels.login_subHeading_LoggedInAlready}
\r\n
\r\n \r\n \r\n \r\n
\r\n
{applicationLabels.login_disclaimer}
\r\n
\r\n
\r\n

{applicationLabels.login_subHeading_ColleagueSkill}

\r\n
{applicationLabels.login_subHeading_SendHiVibe}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n }\r\n\r\n}","import * as React from 'react';\r\nimport { MessageBarType, Stack, css, Callout, FontIcon, DirectionalHint, TextField, Spinner, SpinnerSize, ITextFieldStyleProps, MessageBar, ShimmerElementType, ShimmerElementsGroup, Shimmer, FocusTrapCallout, FocusZone, ICalloutProps, Modal } from '@fluentui/react';\r\nimport { IHiVibe, IApplicationSettings, IPerson, ErrorState, IApplicationLabels } from '../../Models';\r\nimport { Common } from '../../dataprovider/Common';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport { IDataProvider } from '../../dataprovider/IDataProvider';\r\nimport { GroupType, IDynamicPerson, PeoplePicker, PersonType } from '@microsoft/mgt-react/dist/es6/generated/react';\r\nimport * as MicrosoftGraph from '@microsoft/microsoft-graph-types';\r\n\r\nimport { Picker } from 'emoji-mart';\r\n\r\nimport commonStyles from '../WelcomePage/Welcome.module.scss';\r\nimport styles from './HiVibeNewForm.module.scss';\r\n\r\nimport 'emoji-mart/css/emoji-mart.css'\r\n\r\nconst readOnlyTextBoxStyles = {\r\n wrapper: {\r\n flexDirection: 'column',\r\n borderBottom: '1px solid rgb(214 211 208)',\r\n\r\n '& label': {\r\n padding: 0,\r\n color: \"#4c79bc\",\r\n fontWeight: 400,\r\n fontSize: '0.8rem',\r\n lineHeight: '15px',\r\n height: 'auto',\r\n fontFamily: '\"TheSans-LP3Light\", sans-serif'\r\n }\r\n },\r\n fieldGroup: {\r\n height: '30px',\r\n flex: '1 0 auto !important',\r\n // display: 'block',\r\n\r\n '& input': {\r\n background: '#fff',\r\n paddingLeft: 0,\r\n width: '100%',\r\n color: '#a19f9d', //'#595858',\r\n '-webkit-text-fill-color': '#a19f9d',\r\n opacity: 1 /* required on iOS */\r\n }\r\n }\r\n};\r\n\r\nexport interface IHiVibeNewFormProps {\r\n isUserAuthenticated: boolean;\r\n userAccount: MicrosoftGraph.User;\r\n dataProvider: IDataProvider;\r\n location: Location;\r\n history: History;\r\n applicationSettings: IApplicationSettings;\r\n}\r\n\r\nexport interface IHiVibeNewFormState {\r\n showWaitingSpinner?: boolean;\r\n hiVibe: IHiVibe;\r\n applicationSettings: IApplicationSettings;\r\n message?: string | JSX.Element | null;\r\n messageType?: MessageBarType;\r\n showMessage?: boolean;\r\n isLoading?: boolean;\r\n isThemeCalloutVisible?: boolean;\r\n isCardCalloutVisible?: boolean;\r\n isEmojiPickerVisible?: boolean;\r\n otherTheme?: string;\r\n otherThemeError?: string;\r\n errorState: ErrorState;\r\n selectedPeople?: IDynamicPerson[];\r\n imageLoaded?: boolean[];\r\n}\r\n\r\nexport default class HiVibeNewForm extends React.Component {\r\n static displayName = HiVibeNewForm.name;\r\n\r\n private themeCallOutProps: ICalloutProps = {\r\n role: \"alertdialog\",\r\n gapSpace: 0,\r\n target: `.${styles.chooseTheme} .${styles.fontIconText}`,\r\n directionalHint: DirectionalHint.rightCenter,\r\n onDismiss: () => {\r\n this.setState({\r\n isThemeCalloutVisible: false\r\n });\r\n },\r\n setInitialFocus: true,\r\n // preventDismissOnEvent: (event:any)=>{\r\n // console.log(event);\r\n // return true;\r\n // },\r\n preventDismissOnResize: true,\r\n preventDismissOnScroll: true,\r\n preventDismissOnLostFocus: true\r\n }\r\n\r\n constructor(props: IHiVibeNewFormProps) {\r\n super(props);\r\n this.state = {\r\n hiVibe: {\r\n sender: {\r\n Title: props.userAccount.displayName,\r\n EMail: props.userAccount.mail,\r\n Name: props.userAccount.userPrincipalName\r\n },\r\n jobTitle: props.userAccount.jobTitle,\r\n country: props.userAccount.country,\r\n officeLocation: props.userAccount.officeLocation,\r\n department: props.userAccount.department,\r\n locale: navigator.language\r\n },\r\n showWaitingSpinner: false,\r\n applicationSettings: props.applicationSettings,\r\n message: null,\r\n messageType: MessageBarType.success,\r\n showMessage: false,\r\n isLoading: false,\r\n isThemeCalloutVisible: false,\r\n isCardCalloutVisible: false,\r\n isEmojiPickerVisible: false,\r\n errorState: {\r\n theme: {\r\n errorMessage: '',\r\n showError: false\r\n },\r\n card: {\r\n errorMessage: '',\r\n showError: false\r\n },\r\n message: {\r\n errorMessage: '',\r\n showError: false\r\n },\r\n receivers: {\r\n errorMessage: '',\r\n showError: false\r\n },\r\n },\r\n selectedPeople: [],\r\n imageLoaded: props.applicationSettings.cards.map((x: string) => { return false; }),\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n try {\r\n\r\n if (!this.props.applicationSettings) {\r\n const applicationSettings = await this.props.dataProvider.getApplicationSettings();\r\n this.setState({\r\n applicationSettings: applicationSettings,\r\n imageLoaded: applicationSettings.cards.map(x => { return false; })\r\n });\r\n }\r\n\r\n (document.getElementById(`root`) as HTMLDivElement).addEventListener('click', this.onClickPage);\r\n\r\n } catch (error) {\r\n this.hideSpinnerAndShowErrorMessage(error, \"componentDidMount\");\r\n }\r\n\r\n }\r\n\r\n componentWillUnmount() {\r\n (document.getElementById(`root`) as HTMLDivElement).removeEventListener('click', this.onClickPage);\r\n }\r\n\r\n private onClickPage = (e: Event) => {\r\n // console.log(e);\r\n const composedPath = e.composedPath();\r\n console.log(\"ComposedPath: \", composedPath);\r\n\r\n const indexOfEmojiPicker = composedPath.findIndex(x => (x as any).classList && (x as any).classList.contains(\"emoji-mart\"));\r\n const indexOfEmojiPickerIcon = composedPath.findIndex(x => (x as any).classList && (x as any).classList.contains(styles.emojiIcon));\r\n if (indexOfEmojiPicker === -1 && indexOfEmojiPickerIcon === -1) {\r\n this.setState({\r\n isEmojiPickerVisible: false\r\n });\r\n }\r\n }\r\n\r\n private hideSpinnerAndShowSuccessMessage = (message: string) => {\r\n this.setState({\r\n message: message,\r\n messageType: MessageBarType.success,\r\n showWaitingSpinner: false,\r\n showMessage: true,\r\n });\r\n\r\n window.setTimeout(this.resetMessageBar, 10000);\r\n }\r\n\r\n private resetMessageBar = () => {\r\n this.setState({\r\n showMessage: false,\r\n messageType: MessageBarType.success,\r\n message: undefined\r\n });\r\n }\r\n\r\n private hideSpinnerAndShowErrorMessage = (error: any, errorAreaName: string) => {\r\n\r\n this.props.dataProvider.logErrorInConsole?.(errorAreaName, error);\r\n\r\n this.setState({\r\n message: this.props.dataProvider.extractErrorMessageFromErrorObject?.(error),\r\n messageType: MessageBarType.error,\r\n showWaitingSpinner: false,\r\n showMessage: true,\r\n });\r\n }\r\n\r\n private onChangePeoplePicker = (e: Event) => {\r\n const hiVibe: IHiVibe = { ...this.state.hiVibe };\r\n const errorState: ErrorState = { ...this.state.errorState };\r\n const applicationLabels = this.state.applicationSettings.applicationLabels;\r\n\r\n const spUsers: IPerson[] = [];\r\n\r\n // console.log(e);\r\n // console.log((e.target as any).selectedPeople);\r\n let users: IDynamicPerson[] = (e.target as any).selectedPeople;\r\n\r\n for (let index = 0; index < users.length; index++) {\r\n const user = users[index];\r\n let email;\r\n let person = user as MicrosoftGraph.Person;\r\n\r\n if (person.scoredEmailAddresses && person.scoredEmailAddresses.length) {\r\n email = person.scoredEmailAddresses[0].address ?? \"\";\r\n }\r\n\r\n if (!email) {\r\n email = (user as MicrosoftGraph.User).userPrincipalName ?? \"\";\r\n }\r\n else {\r\n if (!(user as MicrosoftGraph.User).userPrincipalName) {\r\n errorState.receivers = {\r\n errorMessage: applicationLabels.error_message_ExternalUser,\r\n showError: true\r\n };\r\n\r\n this.setState({\r\n errorState: errorState,\r\n });\r\n return;\r\n }\r\n }\r\n\r\n // let email: string = (user as MicrosoftGraph.User).userPrincipalName ?? \"\";\r\n // let displayName: string = (user as MicrosoftGraph.User).displayName ?? \"\";\r\n\r\n if (!email) {\r\n email = (user as MicrosoftGraph.Group).mail ?? \"\";\r\n }\r\n\r\n spUsers.push({\r\n EMail: email,\r\n Title: user.displayName,\r\n Id: null,\r\n Name: person.userPrincipalName ?? null\r\n });\r\n }\r\n\r\n hiVibe.receivers = spUsers;\r\n\r\n errorState.receivers = {\r\n errorMessage: \"\",\r\n showError: false\r\n }\r\n\r\n this.setState({\r\n hiVibe: hiVibe,\r\n errorState: errorState,\r\n selectedPeople: users\r\n });\r\n }\r\n\r\n private onChangeTextField = (event: React.FormEvent, newValue?: string | undefined) => {\r\n const hiVibe: IHiVibe = { ...this.state.hiVibe };\r\n const errorState: ErrorState = { ...this.state.errorState };\r\n\r\n hiVibe.message = newValue;\r\n\r\n errorState.message = {\r\n errorMessage: \"\",\r\n showError: false\r\n }\r\n\r\n this.setState({\r\n hiVibe: hiVibe,\r\n errorState: errorState\r\n });\r\n }\r\n\r\n private addEmoji = (e: any) => {\r\n let emoji = e.native;\r\n const hiVibe: IHiVibe = { ...this.state.hiVibe };\r\n hiVibe.message = (hiVibe.message ?? \"\") + emoji;\r\n\r\n console.log(\"Emoji: \", emoji);\r\n\r\n this.setState({\r\n hiVibe: hiVibe,\r\n });\r\n };\r\n\r\n private openThemeCallout = () => {\r\n this.setState({\r\n otherTheme: undefined,\r\n isThemeCalloutVisible: true\r\n });\r\n }\r\n\r\n private openCardCallout = () => {\r\n this.setState({\r\n isCardCalloutVisible: true\r\n });\r\n }\r\n\r\n private selectTheme = (themeKey: string, themeTitle: string) => () => {\r\n const hiVibe: IHiVibe = { ...this.state.hiVibe };\r\n const errorState: ErrorState = { ...this.state.errorState };\r\n\r\n hiVibe.theme = themeTitle;\r\n hiVibe.themeKey = themeKey;\r\n\r\n errorState.theme = {\r\n errorMessage: \"\",\r\n showError: false\r\n }\r\n\r\n this.setState({\r\n hiVibe: hiVibe,\r\n errorState: errorState,\r\n isThemeCalloutVisible: false\r\n });\r\n }\r\n\r\n private selectCard = (card: string) => () => {\r\n const hiVibe: IHiVibe = { ...this.state.hiVibe };\r\n const errorState: ErrorState = { ...this.state.errorState };\r\n\r\n hiVibe.card = card;\r\n\r\n errorState.card = {\r\n errorMessage: \"\",\r\n showError: false\r\n }\r\n\r\n this.setState({\r\n hiVibe: hiVibe,\r\n errorState: errorState,\r\n isCardCalloutVisible: false\r\n });\r\n }\r\n\r\n private onClickUseThemButton = () => {\r\n if (this.state.otherTheme) {\r\n const hiVibe: IHiVibe = { ...this.state.hiVibe };\r\n hiVibe.theme = this.state.otherTheme;\r\n\r\n this.setState({\r\n isThemeCalloutVisible: false,\r\n hiVibe: hiVibe\r\n });\r\n }\r\n else {\r\n const { applicationLabels } = this.state.applicationSettings;\r\n this.setState({\r\n otherThemeError: applicationLabels.error_message_Required\r\n });\r\n }\r\n }\r\n\r\n private onClickSendHiVibeButton = () => {\r\n const { applicationLabels } = this.state.applicationSettings;\r\n const hiVibe: IHiVibe = this.state.hiVibe;\r\n const errorState: ErrorState = { ...this.state.errorState };\r\n let isFormValid = true;\r\n\r\n if (!hiVibe.theme) {\r\n errorState.theme = {\r\n errorMessage: applicationLabels.error_message_Required,\r\n showError: true\r\n }\r\n\r\n isFormValid = false\r\n }\r\n else {\r\n errorState.theme = {\r\n errorMessage: \"\",\r\n showError: false\r\n }\r\n }\r\n\r\n if (!hiVibe.card) {\r\n errorState.card = {\r\n errorMessage: applicationLabels.error_message_Required,\r\n showError: true\r\n }\r\n\r\n isFormValid = false\r\n }\r\n else {\r\n errorState.card = {\r\n errorMessage: \"\",\r\n showError: false\r\n }\r\n }\r\n\r\n if (!hiVibe.message) {\r\n errorState.message = {\r\n errorMessage: applicationLabels.error_message_Required,\r\n showError: true\r\n }\r\n\r\n isFormValid = false\r\n }\r\n else {\r\n errorState.message = {\r\n errorMessage: \"\",\r\n showError: false\r\n }\r\n }\r\n\r\n if (!hiVibe.receivers || hiVibe.receivers.length === 0) {\r\n errorState.receivers = {\r\n errorMessage: applicationLabels.error_message_Required,\r\n showError: true\r\n }\r\n\r\n isFormValid = false\r\n }\r\n else {\r\n errorState.receivers = {\r\n errorMessage: \"\",\r\n showError: false\r\n }\r\n }\r\n\r\n if (isFormValid) {\r\n this.setState({\r\n showWaitingSpinner: true\r\n });\r\n\r\n this.props.dataProvider.createHiVibe(hiVibe).then((result) => {\r\n const hiVibe: IHiVibe = this.state.hiVibe;\r\n\r\n hiVibe.isRead = false;\r\n hiVibe.message = null;\r\n hiVibe.theme = undefined;\r\n hiVibe.card = undefined;\r\n hiVibe.receivers = undefined;\r\n\r\n (document.querySelector('mgt-people-picker') as any).selectUsersById([])\r\n\r\n this.setState({\r\n hiVibe: hiVibe,\r\n selectedPeople: []\r\n });\r\n\r\n this.hideSpinnerAndShowSuccessMessage(applicationLabels.success_message_HiVibeCreated);\r\n }).catch(error => {\r\n this.hideSpinnerAndShowErrorMessage(error, 'onClickSendHiVibeButton')\r\n });\r\n }\r\n else {\r\n this.setState({\r\n errorState: errorState\r\n });\r\n }\r\n }\r\n\r\n renderThemeCalloutContent = (applicationLabels: IApplicationLabels, themes: any, otherTheme: string, otherThemeError: string) => {\r\n return (\r\n
\r\n

{applicationLabels.form_label_ThanksFor}:

\r\n
\r\n {\r\n Object.entries(themes).map((theme, i) => {\r\n return (\r\n
\r\n

{theme[1]}

\r\n
\r\n );\r\n })\r\n }\r\n
\r\n {/**/}\r\n {/* , newValue?: string | undefined) => {*/}\r\n {/* this.setState({*/}\r\n {/* otherTheme: newValue,*/}\r\n {/* otherThemeError: newValue ? '' : applicationLabels.error_message_Required*/}\r\n {/* });*/}\r\n {/* }}*/}\r\n {/* maxLength={30}*/}\r\n {/* styles={{*/}\r\n {/* field: {*/}\r\n {/* lineHeight: '10px'*/}\r\n {/* }*/}\r\n {/* }}*/}\r\n {/* borderless*/}\r\n {/* underlined*/}\r\n {/* placeholder={applicationLabels.form_placeholder_UseButton}*/}\r\n {/* errorMessage={otherThemeError}*/}\r\n {/* />*/}\r\n {/* */}\r\n {/**/}\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n showMessage, message, isLoading, messageType, isEmojiPickerVisible, otherThemeError, selectedPeople,\r\n hiVibe, showWaitingSpinner, isThemeCalloutVisible, isCardCalloutVisible, otherTheme, errorState\r\n } = this.state;\r\n\r\n const { themes, applicationLabels, cards } = this.state.applicationSettings;\r\n const { location, history, isUserAuthenticated, userAccount } = this.props;\r\n\r\n // console.log(stepWizardContext);\r\n\r\n if (window.outerWidth < 768)\r\n this.themeCallOutProps = {\r\n ...this.themeCallOutProps,\r\n preventDismissOnResize: true,\r\n preventDismissOnScroll: true,\r\n preventDismissOnLostFocus: true\r\n };\r\n else\r\n this.themeCallOutProps = {\r\n ...this.themeCallOutProps,\r\n preventDismissOnResize: false,\r\n preventDismissOnScroll: false,\r\n preventDismissOnLostFocus: false\r\n };\r\n\r\n if (isLoading) {\r\n return (\r\n \r\n Loading\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n else {\r\n let fileNameParts = hiVibe?.card ? hiVibe.card.split('.') : [];\r\n let thumbnailNameCard = fileNameParts[0];\r\n\r\n if (fileNameParts.length > 1)\r\n thumbnailNameCard = `${thumbnailNameCard}_thumbnail.${fileNameParts[1]}`;\r\n\r\n if (this.state && this.state.applicationSettings)\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
ARISE
\r\n \r\n
\r\n
\r\n

{applicationLabels.login_heading_1}

\r\n

{applicationLabels.login_heading_2}

\r\n
\r\n
\r\n
\r\n {\r\n showMessage &&\r\n {\r\n this.resetMessageBar();\r\n }}\r\n >{message}\r\n \r\n }\r\n \r\n

{applicationLabels.form_label_ChooseTheme}

\r\n {\r\n hiVibe?.theme &&\r\n \r\n
{applicationLabels.form_label_ThanksFor}
\r\n
{hiVibe?.theme ?? \"\"}
\r\n
\r\n }\r\n
\r\n \r\n

{applicationLabels.form_label_ChooseCard}

\r\n {\r\n hiVibe?.card &&\r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {errorState.receivers && errorState.receivers.showError && {errorState.receivers.errorMessage}}\r\n
\r\n
\r\n {\r\n\r\n return {\r\n wrapper: {\r\n '& label': {\r\n padding: 0,\r\n color: props.hasErrorMessage ? \"rgb(164, 38, 44)\" : \"#4c79bc\",\r\n fontWeight: 400,\r\n fontSize: '0.8rem',\r\n // lineHeight: '15px',\r\n height: 'auto',\r\n marginBottom: '5px',\r\n fontFamily: '\"TheSans-LP3Light\", sans-serif'\r\n }\r\n },\r\n errorMessage: {\r\n fontSize: '0.7rem'\r\n }\r\n };\r\n }}\r\n rows={5}\r\n placeholder={applicationLabels.form_label_YourMessage}\r\n label={applicationLabels.form_label_YourMessage}\r\n value={hiVibe?.message ?? \"\"}\r\n onChange={this.onChangeTextField}\r\n errorMessage={errorState.message.errorMessage}\r\n />\r\n
\r\n {\r\n this.setState({\r\n isEmojiPickerVisible: !this.state.isEmojiPickerVisible\r\n });\r\n }}\r\n />\r\n {\r\n isEmojiPickerVisible &&\r\n \r\n
\r\n {\r\n this.setState({\r\n isEmojiPickerVisible: false\r\n });\r\n }}\r\n />\r\n
\r\n \r\n
\r\n\r\n }\r\n\r\n
\r\n
\r\n \r\n {\r\n showWaitingSpinner ?\r\n \r\n :\r\n {applicationLabels.form_Button_SendYourHiVibe}\r\n }\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n isThemeCalloutVisible && window.outerWidth<768 ?\r\n \r\n {this.renderThemeCalloutContent(applicationLabels, themes, otherTheme ?? \"\", otherThemeError ?? \"\")}\r\n \r\n :\r\n isThemeCalloutVisible && window.outerWidth>=768 ?\r\n \r\n \r\n {this.renderThemeCalloutContent(applicationLabels, themes, otherTheme ?? \"\", otherThemeError ?? \"\")}\r\n \r\n \r\n : null\r\n\r\n }\r\n {\r\n isCardCalloutVisible &&\r\n {\r\n this.setState({\r\n isCardCalloutVisible: false\r\n });\r\n }}\r\n setInitialFocus\r\n >\r\n
\r\n {\r\n cards.map((card, i) => {\r\n let fileNameParts = card.split('.');\r\n let thumbnailName = fileNameParts[0];\r\n thumbnailName = `${thumbnailName}_thumbnail.${fileNameParts[1]}`;\r\n\r\n const shimmerElementGroup = \r\n\r\n const isImageLoaded = this.state.imageLoaded ? this.state.imageLoaded[i] : false\r\n //const isImageLoaded = false\r\n\r\n return (\r\n
\r\n \r\n \r\n {\r\n const imageLoaded = this.state.imageLoaded ? [...this.state.imageLoaded] : [];\r\n if (imageLoaded.length) {\r\n console.log(\"Loaded Image: \", thumbnailName);\r\n imageLoaded[i] = true;\r\n this.setState({ imageLoaded: imageLoaded });\r\n }\r\n }}\r\n // className={styles.themeText}\r\n placeholder={thumbnailName}\r\n alt={thumbnailName}\r\n onClick={this.selectCard(card)}\r\n src={`/Cards/${thumbnailName}`}\r\n />\r\n
\r\n );\r\n })\r\n }\r\n
\r\n {\r\n\r\n }\r\n \r\n }\r\n
\r\n
\r\n );\r\n else\r\n return null;\r\n\r\n }\r\n\r\n }\r\n}","import * as React from 'react';\r\nimport { MessageBarType, Stack, css } from '@fluentui/react';\r\nimport { IHiVibe, IApplicationSettings } from '../../Models';\r\nimport { Link, match } from 'react-router-dom';\r\nimport * as MicrosoftGraph from '@microsoft/microsoft-graph-types';\r\nimport { IDataProvider } from '../../dataprovider/IDataProvider';\r\nimport commonStyles from '../WelcomePage/Welcome.module.scss';\r\nimport styles from './HiVibeDisplayForm.module.scss';\r\nimport straumannLogo from '../../images/str-group-color.svg';\r\nimport { PageURL } from '../../App';\r\n\r\nexport interface IHiVibeDisplayFormProps {\r\n isUserAuthenticated: boolean;\r\n userAccount: MicrosoftGraph.User;\r\n dataProvider: IDataProvider;\r\n location: Location;\r\n history: History;\r\n applicationSettings: IApplicationSettings;\r\n match: any;\r\n}\r\n\r\nexport interface IHiVibeDisplayFormState {\r\n requestId: string;\r\n showWaitingSpinner?: boolean;\r\n hiVibe?: IHiVibe;\r\n applicationSettings: IApplicationSettings;\r\n message?: string | JSX.Element | null;\r\n messageType?: MessageBarType;\r\n showOrderSuccessMessage?: boolean;\r\n isLoading?: boolean;\r\n}\r\n\r\nexport default class HiVibeDisplayForm extends React.Component {\r\n static displayName = HiVibeDisplayForm.name;\r\n\r\n constructor(props: IHiVibeDisplayFormProps) {\r\n super(props);\r\n\r\n let query = new URLSearchParams((this.props as any).location.search);\r\n const id: string = query.get(\"id\") ?? '';\r\n\r\n this.state = {\r\n requestId: id,\r\n showWaitingSpinner: false,\r\n applicationSettings: props.applicationSettings,\r\n message: null,\r\n messageType: MessageBarType.success,\r\n showOrderSuccessMessage: false,\r\n isLoading: false,\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n try {\r\n let promiseArray: Promise[] = [];\r\n\r\n if (this.state.requestId) {\r\n promiseArray.push(this.props.dataProvider.getHiVibe(this.state.requestId, this.props.userAccount.mail ?? \"\", this.props.userAccount.displayName ?? \"\"));\r\n\r\n if (!this.props.applicationSettings)\r\n promiseArray.push(this.props.dataProvider.getApplicationSettings());\r\n\r\n Promise.all(promiseArray).then((result: any[]) => {\r\n const hiVibe = result[0];\r\n\r\n this.setState({\r\n hiVibe: hiVibe\r\n });\r\n\r\n if (result.length > 1) {\r\n const applicationSettings = result[1];\r\n this.setState({\r\n applicationSettings: applicationSettings\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n\r\n }\r\n } catch (error) {\r\n this.hideSpinnerAndShowErrorMessage(error, \"componentDidMount\");\r\n }\r\n\r\n }\r\n\r\n private hideSpinnerAndShowErrorMessage = (error: any, errorAreaName: string) => {\r\n\r\n this.props.dataProvider.logErrorInConsole?.(errorAreaName, error);\r\n\r\n this.setState({\r\n message: this.props.dataProvider.extractErrorMessageFromErrorObject?.(error),\r\n messageType: MessageBarType.error,\r\n showWaitingSpinner: false,\r\n showOrderSuccessMessage: false,\r\n });\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n showOrderSuccessMessage, message, isLoading, messageType,\r\n hiVibe, showWaitingSpinner\r\n } = this.state;\r\n\r\n const { themes, applicationLabels, cards } = this.state.applicationSettings;\r\n const { location, history, isUserAuthenticated, userAccount } = this.props;\r\n\r\n // console.log(stepWizardContext);\r\n\r\n if (isLoading && this.state.requestId) {\r\n return (\r\n \r\n Loading\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n else {\r\n if (this.state.requestId) {\r\n if (this.state && this.state.applicationSettings) {\r\n return (\r\n
\r\n
\r\n \r\n
ARISE
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* */}\r\n
\r\n

{applicationLabels.form_label_ThanksFor} {hiVibe?.themeKey ? themes[hiVibe.themeKey] : hiVibe?.theme}

\r\n
\r\n
\r\n
\r\n
\r\n
{hiVibe?.message}
\r\n
\r\n
\r\n {applicationLabels.form_label_SendYourOwnHiVibe}\r\n
\r\n
\r\n );\r\n }\r\n else\r\n return null;\r\n }\r\n else {\r\n return

No Request Id specified

\r\n }\r\n\r\n }\r\n\r\n }\r\n}","export default class HttpService {\r\n\r\n public static async get(url: string, body?: any): Promise {\r\n let response: any;\r\n\r\n if (body)\r\n response = await fetch(url, {\r\n method: 'GET',\r\n cache: 'no-cache',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'CultureInfo': navigator.languages.join(\",\")\r\n },\r\n body: JSON.stringify(body)\r\n });\r\n else\r\n response = await fetch(url, {\r\n method: 'GET',\r\n cache: 'no-cache',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'CultureInfo': navigator.languages.join(\",\")\r\n },\r\n });\r\n\r\n return HttpService.handleResponse(response);\r\n }\r\n\r\n public static async post(url: string, body: any): Promise {\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'CultureInfo': navigator.languages.join(\",\")\r\n },\r\n body: JSON.stringify(body)\r\n });\r\n\r\n return HttpService.handleResponse(response);\r\n }\r\n\r\n private static async handleResponse(response: Response) {\r\n\r\n if (response.ok){\r\n try {\r\n return response.json();\r\n } catch (error) {\r\n return response.text();\r\n }\r\n }\r\n else {\r\n let errorString: string = \"\";\r\n try {\r\n errorString = await response.text();\r\n const error = JSON.parse(errorString);\r\n throw Error(error);\r\n } catch (error) {\r\n throw Error(errorString);\r\n }\r\n }\r\n }\r\n}","import { IDataProvider } from \"./IDataProvider\";\r\nimport { IApplicationLabels, IHiVibe, IApplicationSettings, IAuthenticationSettings } from \"../Models\";\r\nimport HttpService from \"./HttpService\";\r\n\r\nexport default class DataProvider implements IDataProvider {\r\n\r\n public apiEndpointSP = `/api/SPInterface`;\r\n public apiEndpointPayment = `/api/Payment`;\r\n public apiEndpointAppSettings = `/api/ApplicationSettings`;\r\n\r\n public async getApplicationSettings(): Promise {\r\n const applicationSettings: IApplicationSettings = await HttpService.get(`${this.apiEndpointAppSettings}`);\r\n return applicationSettings;\r\n }\r\n\r\n public async getAzureConnectivitySettings(): Promise {\r\n const authenticationSettings: IAuthenticationSettings = await HttpService.get(`/api/AzureConnectivity`);\r\n return authenticationSettings;\r\n }\r\n\r\n public async getApplicationLables(): Promise {\r\n const applicationLabels: IApplicationLabels = await HttpService.get(`${this.apiEndpointSP}/GetApplicationLabels`);\r\n return applicationLabels;\r\n }\r\n\r\n public async getHiVibe(id: string, currentUserEmail: string, currentUserName: string): Promise {\r\n const data={\r\n id: id,\r\n currentUserEmail: currentUserEmail,\r\n currentUserName: currentUserName\r\n };\r\n\r\n // const order: IHiVibe = await HttpService.get(`${this.apiEndpointSP}/HiVibe?id=${encodeURIComponent(id)}&email=${encodeURIComponent(currentUserEmail)}`);\r\n const order: IHiVibe = await HttpService.post(`${this.apiEndpointSP}/HiVibe`, data);\r\n return order;\r\n }\r\n\r\n public async createHiVibe(hiVibe: IHiVibe): Promise {\r\n const response = await HttpService.post(`${this.apiEndpointSP}/CreateHiVibe`, hiVibe);\r\n return response\r\n }\r\n\r\n public logErrorInConsole(errorArea: string, errorObj: any) {\r\n this.logError(errorObj.message);\r\n console.log(`Error message ${errorArea}: `, errorObj.message);\r\n console.log(`Error Stack Trace ${errorArea}: `, errorObj.stack);\r\n }\r\n\r\n private logError(msg: any) {\r\n if (console) {\r\n console.log(`%cERROR:`, \"color:red;font-weight:bold;font-size:16px\");\r\n console.log(msg);\r\n }\r\n }\r\n\r\n public extractErrorMessageFromErrorObject(error: any): string {\r\n\r\n let errorMessage = error.message ? error.message as string : error as string;\r\n\r\n if (errorMessage.indexOf(\"::>\") >= 0) {\r\n try {\r\n let errorObj = JSON.parse(errorMessage.substring(errorMessage.indexOf(\"::>\") + 3).trim());\r\n\r\n if (errorObj[\"odata.error\"] && errorObj[\"odata.error\"].message && errorObj[\"odata.error\"].message.value)\r\n errorMessage = errorObj[\"odata.error\"].message.value;\r\n\r\n } catch (error) {\r\n errorMessage = errorMessage.substring(errorMessage.indexOf(\"::>\") + 3).trim();\r\n }\r\n\r\n }\r\n\r\n return errorMessage;\r\n }\r\n\r\n\r\n}","import React, { Component } from 'react';\r\nimport { Route } from 'react-router';\r\nimport { Layout } from './components/Layout/Layout';\r\nimport AuthProvider from './components/AuthenticationProvider/AuthenticationProvider';\r\nimport WelcomePage from './components/WelcomePage/Welcome';\r\nimport HiVibeNewForm from './components/HiVibeForms/HiVibeNewForm';\r\nimport HiVibeDisplayForm from './components/HiVibeForms/HiVibeDisplayForm';\r\nimport MockService from './dataprovider/MockService';\r\nimport DataProvider from './dataprovider/DataProvider';\r\n\r\nimport './Common.scss'\r\nimport { IApplicationSettings } from './Models';\r\n\r\nexport const PageURL = {\r\n SendHiVibe: \"/SendArise\",\r\n HiVibe: \"/Arise\",\r\n}\r\n\r\nexport interface IAppState {\r\n applicationSettings?: IApplicationSettings;\r\n}\r\n\r\nexport default class App extends React.Component {\r\n static displayName = App.name;\r\n\r\n // dataProvider = new MockService();\r\n dataProvider = new DataProvider();\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n async componentDidMount() {\r\n const applicationSettings = await this.dataProvider.getApplicationSettings();\r\n\r\n this.setState({\r\n applicationSettings: applicationSettings\r\n });\r\n\r\n indexedDB.deleteDatabase(\"mgt-groups\");\r\n indexedDB.deleteDatabase(\"mgt-people\");\r\n indexedDB.deleteDatabase(\"mgt-photos\");\r\n indexedDB.deleteDatabase(\"mgt-users\");\r\n }\r\n\r\n render() {\r\n\r\n const applicationSettings = this.state.applicationSettings;\r\n\r\n if (applicationSettings) {\r\n const AuthenticatedCreationForm = AuthProvider(HiVibeNewForm, { applicationSettings: applicationSettings });\r\n const AuthenticatedDisplayForm = AuthProvider(HiVibeDisplayForm, { applicationSettings: applicationSettings });\r\n return (\r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n \r\n );\r\n }\r\n else {\r\n return (\r\n \r\n \r\n );\r\n }\r\n }\r\n}\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\nimport registerServiceWorker from './registerServiceWorker';\r\nimport { initializeIcons } from '@fluentui/font-icons-mdl2';\r\n\r\ninitializeIcons();\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n rootElement);\r\n\r\nregisterServiceWorker();\r\n\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"HiVibeDisplayForm_header__3AbY9\",\"container\":\"HiVibeDisplayForm_container__FNoXE\",\"page\":\"HiVibeDisplayForm_page__3YIJ2\",\"cardBox\":\"HiVibeDisplayForm_cardBox__1ZlMI\",\"card\":\"HiVibeDisplayForm_card__3ibn1\",\"cardImage\":\"HiVibeDisplayForm_cardImage__1dIAk\",\"themeContainer\":\"HiVibeDisplayForm_themeContainer__DJCb-\",\"logo\":\"HiVibeDisplayForm_logo__3M9kb\",\"message\":\"HiVibeDisplayForm_message__263lo\",\"link\":\"HiVibeDisplayForm_link__1dNyq\"};"],"sourceRoot":""}