{"version":3,"sources":["AuthConfig.js","functions/ApiCalls.js","functions/ProfileHelper.js","components/ProfileForm.js","components/IframeForm.js","i18n/config.js","components/SignOutButton.js","components/Header.js","components/Footer.js","components/EditProfile.js","components/TermsOfUse.js","components/PrivacyPolicy.js","App.js","reportWebVitals.js","index.js"],"names":["b2cPolicies_dev","signUpSignIn","authority","forgotPassword","b2cPolicies_prod","names","authorities","authorityDomain","msalConfig","auth","clientId","knownAuthorities","postLogoutRedirectUri","navigateToLoginRequestUrl","cache","cacheLocation","storeAuthStateInCookie","protectedResources","api","scopes","loginRequest","API_URL","Redirect","fetchProfile","response","a","bearer","accessToken","headers","Authorization","axios","get","then","res","status","createProfile","data","profile","saveProfile","put","idTokenClaims","date","Date","toISOString","substring","length","FirstName","given_name","LastName","family_name","Email","emails","RegistrationID","uniqueId","UpdateDate","GetMasterList","VisiblityCheck","visibility","TypeOfOrganisation","ProfessionalStatus","ShowSector","ShowTopManager","ShowSizeOfBusiness","ShowOrgName","ProfForm","props","state","Profile","UserId","YearOfBirth","GenderObject","Gender","CountryObject","Country","Telephone","TypeOfOrganisationObject","ProfessionalStatusObject","OrganisationOptions","OrganisationObject","Organisation","OrganisationName","SectorObject","Sector","SubSectorObject","SubSector","SubSectorOptions","AgeOfTopManagerObject","GenderOfTopManagerObject","AgeOfTopManager","GenderOfTopManager","SizeOfBusinessObject","SizeOfBusiness","CreateDate","RegistrationId","Visiblity","Success","Failed","Wait","GenderList","TypeoforganisationList","ProfessionalstatusList","CountryList","OrganisationList","SectorList","SubsectorList","SizeofbusinessList","AgeoftopmanagerList","this","FilterList","masterlist","FillProfile","master_list","filter","list","ListType","IsActive","sort","p1","p2","ListOrder","b","DisplayText","setState","charAt","field","value","DataValue","ParentId","Id","subsec","SaveToBackend","main_profile","gen","find","gender","country","con","prostatus","pro","typeoforganisation","org","organisation","sector","sec","subsector","age","ag","size","s","visbility","key","t","tReady","className","style","padding","fontSize","color","FormGroup","Label","for","Input","onChange","e","EditProfileTextField","target","onBlurCapture","name","id","format","marginTop","classNamePrefix","options","getOptionLabel","item","getOptionValue","EditProfileDropDown","margin","moment","GetTimeZone","Component","withTranslation","IframeForm","instance","useMsal","useState","setProfile","MasterList","setMasterList","setAccessToken","useEffect","getAllAccounts","accounts","setActiveAccount","getActiveAccount","account","acquireTokenSilent","catch","error","acquireTokenPopup","console","log","handleRedirect","ProfileForm","create","withCredentials","baseURL","loadResources","locale","backendOptions","loadPath","request","url","payload","callback","split","lng","i18next","use","initReactI18next","backend","init","fallbackLng","debug","load","ns","defaultNS","keySeparator","interpolation","escapeValue","formatSeparator","react","useSuspense","SignOutButton","Button","outline","onClick","logoutRedirect","handleLogout","Header","Language","LanguageList","showLanguage","language","parseInt","lang","languageCode","i18n","changeLanguage","src","alt","width","type","map","href","height","backgroundColor","Footer","showLinks","getFullYear","EditProfile","addEventCallback","event","eventType","handleRedirectPromise","authResult","loginRedirect","redirectUri","err","marginBottom","TermsOfUse","rel","PrivacyPolicy","App","exact","path","component","from","to","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","msalInstance","PublicClientApplication","ReactDOM","render","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.12f2605f.chunk.js","sourcesContent":["// B2C Policies\r\n\r\nconst b2cPolicies_dev = {\r\n names: {\r\n signUpSignIn: \"B2C_1_SignUp_SignIn\",\r\n forgotPassword: \"B2C_1_Password\",\r\n },\r\n authorities: {\r\n signUpSignIn: {\r\n authority:\r\n \"https://itcssodev.b2clogin.com/itcssodev.onmicrosoft.com/B2C_1_SignUp_SignIn\",\r\n },\r\n forgotPassword: {\r\n authority:\r\n \"https://itcssodev.b2clogin.com/itcssodev.onmicrosoft.com/B2C_1_Password\",\r\n },\r\n },\r\n authorityDomain: \"itcssodev.b2clogin.com\",\r\n};\r\n\r\nconst b2cPolicies_local = {\r\n names: {\r\n signUpSignIn: \"B2C_1_SignUp_SignIn\",\r\n forgotPassword: \"B2C_1_Password\",\r\n },\r\n authorities: {\r\n signUpSignIn: {\r\n authority:\r\n \"https://itcssodev.b2clogin.com/itcssodev.onmicrosoft.com/B2C_1_SignUp_SignIn\",\r\n },\r\n forgotPassword: {\r\n authority:\r\n \"https://itcssodev.b2clogin.com/itcssodev.onmicrosoft.com/B2C_1_Password\",\r\n },\r\n },\r\n authorityDomain: \"itcssodev.b2clogin.com\",\r\n};\r\n\r\nconst b2cPolicies_prod = {\r\n names: {\r\n signUpSignIn: \"B2C_1_SignUp_SignIn\",\r\n forgotPassword: \"B2C_1_Password\",\r\n },\r\n authorities: {\r\n signUpSignIn: {\r\n authority:\r\n \"https://itcsso.b2clogin.com/itcsso.onmicrosoft.com/B2C_1_SignUp_SignIn\",\r\n },\r\n forgotPassword: {\r\n authority:\r\n \"https://itcsso.b2clogin.com/itcsso.onmicrosoft.com/B2C_1_Password\",\r\n },\r\n },\r\n authorityDomain: \"itcsso.b2clogin.com\",\r\n};\r\n\r\nexport const b2cPolicies =\r\n process.env.REACT_APP_ENV === \"local\"\r\n ? b2cPolicies_local\r\n : process.env.REACT_APP_ENV === \"development\"\r\n ? b2cPolicies_dev\r\n : b2cPolicies_prod;\r\n\r\n// MSAL Configs\r\n\r\n/**\r\n * Configuration object to be passed to MSAL instance on creation.\r\n * For a full list of MSAL.js configuration parameters, visit:\r\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md\r\n */\r\nconst msalConfig_dev = {\r\n auth: {\r\n clientId: \"d8d5cff6-0604-41a3-8502-6554281c0812\", // This is the ONLY mandatory field that you need to supply.\r\n authority: b2cPolicies_dev.authorities.signUpSignIn.authority, // Choose SUSI as your default authority.\r\n knownAuthorities: [b2cPolicies_dev.authorityDomain], // Mark your B2C tenant's domain as trusted.\r\n //redirectUri: \"https://users-dev.intracen.org/editprofile\", // You must register this URI on Azure Portal/App Registration. Defaults to window.location.origin\r\n postLogoutRedirectUri: \"/\", // Indicates the page to navigate after logout.\r\n navigateToLoginRequestUrl: false, // If \"true\", will navigate back to the original request location before processing the auth code response.\r\n },\r\n cache: {\r\n cacheLocation: \"localStorage\", // Configures cache location. \"sessionStorage\" is more secure, but \"localStorage\" gives you SSO between tabs.\r\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\r\n },\r\n};\r\nconst msalConfig_local = {\r\n auth: {\r\n clientId: \"d8d5cff6-0604-41a3-8502-6554281c0812\", // This is the ONLY mandatory field that you need to supply.\r\n authority: b2cPolicies_dev.authorities.signUpSignIn.authority, // Choose SUSI as your default authority.\r\n knownAuthorities: [b2cPolicies_dev.authorityDomain], // Mark your B2C tenant's domain as trusted.\r\n //redirectUri: \"http://localhost:3000/editprofile\", // You must register this URI on Azure Portal/App Registration. Defaults to window.location.origin\r\n postLogoutRedirectUri: \"/\", // Indicates the page to navigate after logout.\r\n navigateToLoginRequestUrl: false, // If \"true\", will navigate back to the original request location before processing the auth code response.\r\n },\r\n cache: {\r\n cacheLocation: \"localStorage\", // Configures cache location. \"sessionStorage\" is more secure, but \"localStorage\" gives you SSO between tabs.\r\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\r\n },\r\n};\r\n\r\nconst msalConfig_prod = {\r\n auth: {\r\n clientId: \"c63c957b-945f-4dee-8e0a-b97aaa32a16a\", // This is the ONLY mandatory field that you need to supply.\r\n authority: b2cPolicies_prod.authorities.signUpSignIn.authority, // Choose SUSI as your default authority.\r\n knownAuthorities: [b2cPolicies_prod.authorityDomain], // Mark your B2C tenant's domain as trusted.\r\n //redirectUri: \"https://users.intracen.org/editprofile\", // You must register this URI on Azure Portal/App Registration. Defaults to window.location.origin\r\n postLogoutRedirectUri: \"/\", // Indicates the page to navigate after logout.\r\n navigateToLoginRequestUrl: false, // If \"true\", will navigate back to the original request location before processing the auth code response.\r\n },\r\n cache: {\r\n cacheLocation: \"localStorage\", // Configures cache location. \"sessionStorage\" is more secure, but \"localStorage\" gives you SSO between tabs.\r\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\r\n },\r\n};\r\n\r\nexport const msalConfig =\r\n process.env.REACT_APP_ENV === \"local\"\r\n ? msalConfig_local\r\n : process.env.REACT_APP_ENV === \"development\"\r\n ? msalConfig_dev\r\n : msalConfig_prod;\r\n\r\n// Protected Resources\r\n\r\n/**\r\n * Add here the endpoints and scopes when obtaining an access token for protected web APIs. For more information, see:\r\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/resources-and-scopes.md\r\n */\r\nconst protectedResources_dev = {\r\n api: {\r\n scopes: [\r\n \"https://itcssodev.onmicrosoft.com/profileapi-scope/Read.Profiles\",\r\n ], // e.g. api://xxxxxx/access_as_user\r\n },\r\n};\r\nconst protectedResources_local = {\r\n api: {\r\n scopes: [\r\n \"https://itcssodev.onmicrosoft.com/profileapi-scope/Read.Profiles\",\r\n ], // e.g. api://xxxxxx/access_as_user\r\n },\r\n};\r\n\r\nconst protectedResources_prod = {\r\n api: {\r\n scopes: [\"https://itcsso.onmicrosoft.com/profileapi-scope/Read.Profiles\"], // e.g. api://xxxxxx/access_as_user\r\n },\r\n};\r\n\r\nexport const protectedResources =\r\n process.env.REACT_APP_ENV === \"local\"\r\n ? protectedResources_local\r\n : process.env.REACT_APP_ENV === \"development\"\r\n ? protectedResources_dev\r\n : protectedResources_prod;\r\n\r\n/**\r\n * Scopes you add here will be prompted for user consent during sign-in.\r\n * By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request.\r\n * For more information about OIDC scopes, visit:\r\n * https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#openid-connect-scopes\r\n */\r\nexport const loginRequest = {\r\n scopes: [\"openid\"],\r\n};\r\n\r\n// API URL according to environment\r\n\r\nexport const API_URL =\r\n process.env.REACT_APP_ENV === \"development\"\r\n ? \"https://users-dev.intracen.org/api/\"\r\n : process.env.REACT_APP_ENV === \"local\"\r\n ? \"https://users-dev.intracen.org/api/\"\r\n : \"https://users.intracen.org/api/\";\r\n\r\n// Redirect URL for Iframe\r\n\r\nconst RedirectLocalIframe = \"http://localhost:3000/iframe\";\r\nconst RedirectDevIframe = \"https://users-dev.intracen.org/iframe\";\r\nconst RedirectProdIframe = \"https://users.intracen.org/iframe\";\r\n\r\nexport const RedirectIframe =\r\n process.env.REACT_APP_ENV === \"local\"\r\n ? RedirectLocalIframe\r\n : process.env.REACT_APP_ENV === \"development\"\r\n ? RedirectDevIframe\r\n : RedirectProdIframe;\r\n\r\n// Redirect URL\r\n\r\nconst RedirectLocal = \"http://localhost:3000/editprofile\";\r\nconst RedirectDev = \"https://users-dev.intracen.org/editprofile\";\r\nconst RedirectProd = \"https://users.intracen.org/editprofile\";\r\n\r\nexport const Redirect =\r\n process.env.REACT_APP_ENV === \"local\"\r\n ? RedirectLocal\r\n : process.env.REACT_APP_ENV === \"development\"\r\n ? RedirectDev\r\n : RedirectProd;\r\n","import axios from \"axios\";\r\nimport { API_URL } from \"../AuthConfig\";\r\n\r\n// Function to Fetch profile from backend\r\n\r\nexport const fetchProfile = async (response) => {\r\n const bearer = `Bearer ${response.accessToken}`;\r\n const headers = {\r\n Authorization: bearer,\r\n \"Content-Type\": \"application/json\",\r\n };\r\n var profile = await axios\r\n .get(API_URL + \"UserProfiles/GetByEmail\", {\r\n headers,\r\n })\r\n .then(async function (res) {\r\n if (res.status === 204) {\r\n return await createProfile(response);\r\n } else if (res.status === 200) {\r\n return res.data;\r\n }\r\n });\r\n return profile;\r\n};\r\n\r\n// Function to Save profile to backend\r\n\r\nexport const saveProfile = async (profile, accessToken) => {\r\n const bearer = `Bearer ${accessToken}`;\r\n const headers = {\r\n Authorization: bearer,\r\n \"Content-Type\": \"application/json\",\r\n };\r\n try {\r\n var res = await axios\r\n .put(API_URL + \"UserProfiles/Update\", profile, {\r\n headers,\r\n })\r\n .then(function (response) {\r\n return response;\r\n });\r\n return res;\r\n } catch (error) {\r\n return error;\r\n }\r\n};\r\n\r\n// Function to Create profile if the profile doesn't exist\r\n\r\nasync function createProfile(response) {\r\n const bearer = `Bearer ${response.accessToken}`;\r\n const headers = {\r\n Authorization: bearer,\r\n \"Content-Type\": \"application/json\",\r\n };\r\n try {\r\n if (response) {\r\n if (response.idTokenClaims) {\r\n var date = new Date().toISOString();\r\n date = date.substring(0, date.length - 1);\r\n var profile = {\r\n FirstName: response.idTokenClaims.given_name\r\n ? response.idTokenClaims.given_name\r\n : \"\",\r\n LastName: response.idTokenClaims.family_name\r\n ? response.idTokenClaims.family_name\r\n : \"\",\r\n Email: response.idTokenClaims.emails[0]\r\n ? response.idTokenClaims.emails[0]\r\n : \"\",\r\n RegistrationID: response.uniqueId ? response.uniqueId : \"\",\r\n UpdateDate: date,\r\n };\r\n var res = await axios.put(API_URL + \"UserProfiles/Update\", profile, {\r\n headers,\r\n });\r\n }\r\n }\r\n return res.data;\r\n } catch (error) {\r\n return error;\r\n }\r\n}\r\n\r\n// Function to get master list from backend for options\r\n\r\nexport const GetMasterList = async (accessToken) => {\r\n const bearer = `Bearer ${accessToken}`;\r\n const headers = {\r\n Authorization: bearer,\r\n \"Content-Type\": \"application/json\",\r\n };\r\n var res = await axios.get(API_URL + \"ListMasters/GetListMaster\", { headers });\r\n return res.data;\r\n};\r\n","export function VisiblityCheck(profile, visibility) {\r\n if (\r\n (profile.TypeOfOrganisation === \"Business\" &&\r\n (profile.ProfessionalStatus === \"Senior-level employee\" ||\r\n profile.ProfessionalStatus === \"Mid-level/Junior employee\")) ||\r\n profile.ProfessionalStatus === \"Business owner/ entrepreneur\" ||\r\n profile.ProfessionalStatus === \"Self-employed/ Freelancer\" ||\r\n profile.ProfessionalStatus === \"Farmer\" ||\r\n profile.ProfessionalStatus === \"Artisan/Craftsperson\"\r\n ) {\r\n visibility.ShowSector = true;\r\n } else {\r\n visibility.ShowSector = false;\r\n }\r\n if (\r\n profile.TypeOfOrganisation === \"Business\" &&\r\n (profile.ProfessionalStatus === \"Senior-level employee\" ||\r\n profile.ProfessionalStatus === \"Mid-level/Junior employee\")\r\n ) {\r\n visibility.ShowTopManager = true;\r\n } else {\r\n visibility.ShowTopManager = false;\r\n }\r\n\r\n if (\r\n (profile.TypeOfOrganisation === \"Business\" &&\r\n (profile.ProfessionalStatus === \"Senior-level employee\" ||\r\n profile.ProfessionalStatus === \"Mid-level/Junior employee\")) ||\r\n profile.ProfessionalStatus === \"Business owner/ entrepreneur\"\r\n ) {\r\n visibility.ShowSizeOfBusiness = true;\r\n } else {\r\n visibility.ShowSizeOfBusiness = false;\r\n }\r\n if (\r\n profile.TypeOfOrganisation !== \"\" &&\r\n profile.TypeOfOrganisation !== \"None, I am independent\" &&\r\n profile.ProfessionalStatus !== \"\" &&\r\n (profile.ProfessionalStatus !== \"Self-employed/ Freelancer\" ||\r\n profile.ProfessionalStatus !== \"Farmer\" ||\r\n profile.ProfessionalStatus !== \"Artisan/Craftsperson\")\r\n ) {\r\n visibility.ShowOrgName = true;\r\n } else {\r\n visibility.ShowOrgName = false;\r\n }\r\n return visibility;\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { saveProfile } from \"../functions/ApiCalls\";\r\nimport { FormGroup, Label, Input } from \"reactstrap\";\r\nimport {\r\n BsFillCheckCircleFill,\r\n BsFillClockFill,\r\n BsFillXCircleFill,\r\n} from \"react-icons/bs\";\r\nimport NumberFormat from \"react-number-format\";\r\nimport moment from \"moment\";\r\nimport Select from \"react-select\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport { VisiblityCheck } from \"../functions/ProfileHelper\";\r\n\r\nclass ProfForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n Profile: {\r\n UserId: \"\",\r\n FirstName: \"\",\r\n LastName: \"\",\r\n YearOfBirth: \"\",\r\n GenderObject: {},\r\n Gender: \"\",\r\n CountryObject: {},\r\n Country: \"\",\r\n Telephone: \"\",\r\n TypeOfOrganisationObject: {},\r\n TypeOfOrganisation: \"\",\r\n ProfessionalStatusObject: {},\r\n ProfessionalStatus: \"\",\r\n OrganisationOptions: [],\r\n OrganisationObject: {},\r\n Organisation: \"\",\r\n OrganisationName: \"\",\r\n SectorObject: {},\r\n Sector: \"\",\r\n SubSectorObject: {},\r\n SubSector: \"\",\r\n SubSectorOptions: [],\r\n AgeOfTopManagerObject: {},\r\n GenderOfTopManagerObject: {},\r\n AgeOfTopManager: \"\",\r\n GenderOfTopManager: \"\",\r\n SizeOfBusinessObject: {},\r\n SizeOfBusiness: \"\",\r\n UpdateDate: \"\",\r\n CreateDate: \"\",\r\n Email: \"\",\r\n RegistrationId: \"\",\r\n },\r\n Visiblity: {\r\n ShowSector: false,\r\n ShowTopManager: false,\r\n ShowSizeOfBusiness: false,\r\n ShowOrgName: false,\r\n },\r\n Success: true,\r\n Failed: false,\r\n Wait: false,\r\n GenderList: [],\r\n TypeoforganisationList: [],\r\n ProfessionalstatusList: [],\r\n CountryList: [],\r\n OrganisationList: [],\r\n SectorList: [],\r\n SubsectorList: [],\r\n SizeofbusinessList: [],\r\n AgeoftopmanagerList: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.FilterList(this.props.masterlist);\r\n this.FillProfile(this.props.profile);\r\n }\r\n // Filter the list according to the dropdown to give the options\r\n FilterList(master_list) {\r\n var state = this.state;\r\n state.GenderList = master_list.filter((list) => {\r\n return list.ListType === \"gender\" && list.IsActive;\r\n });\r\n /* const TitleList = master_list.filter((list) => {\r\n return list.ListType === \"title\";\r\n }); */\r\n /* const ToolreferenceList = master_list.filter((list) => {\r\n return list.ListType === \"toolreference\";\r\n }); */\r\n state.TypeoforganisationList = master_list.filter((list) => {\r\n return list.ListType === \"typeoforganisation\" && list.IsActive;\r\n });\r\n state.ProfessionalstatusList = master_list.filter((list) => {\r\n return list.ListType === \"professionalstatus\" && list.IsActive;\r\n });\r\n state.ProfessionalstatusList.sort((p1, p2) =>\r\n p1.ListOrder > p2.ListOrder ? 1 : -1\r\n );\r\n state.CountryList = master_list.filter((list) => {\r\n return list.ListType === \"country\" && list.IsActive;\r\n });\r\n state.OrganisationList = master_list.filter((list) => {\r\n return list.ListType === \"organisation\" && list.IsActive;\r\n });\r\n state.SectorList = master_list.filter((list) => {\r\n return list.ListType === \"sector\" && list.IsActive;\r\n });\r\n state.SubsectorList = master_list.filter((list) => {\r\n return list.ListType === \"subsector\" && list.IsActive;\r\n });\r\n state.SizeofbusinessList = master_list.filter((list) => {\r\n return list.ListType === \"sizeofbusiness\" && list.IsActive;\r\n });\r\n state.AgeoftopmanagerList = master_list.filter((list) => {\r\n return list.ListType === \"ageoftopmanager\" && list.IsActive;\r\n });\r\n state.CountryList.sort((a, b) =>\r\n a.DisplayText > b.DisplayText ? 1 : b.DisplayText > a.DisplayText ? -1 : 0\r\n );\r\n this.setState(state);\r\n }\r\n // Get the time zone\r\n GetTimeZone() {\r\n var date = new Date().toISOString().charAt(23);\r\n return date.substring(date.length - 1);\r\n }\r\n // Make the changes in the profile whenever the change is made in the options in the dropdown\r\n EditProfileDropDown(field, value) {\r\n var profile = this.state.Profile;\r\n profile[field] = value;\r\n switch (field) {\r\n case \"GenderObject\":\r\n profile.Gender = value.DataValue;\r\n break;\r\n case \"CountryObject\":\r\n profile.Country = value.DataValue;\r\n break;\r\n case \"ProfessionalStatusObject\":\r\n profile.ProfessionalStatus = value.DataValue;\r\n profile.TypeOfOrganisation = \"\";\r\n profile.TypeOfOrganisationObject = {};\r\n profile.Organisation = \"\";\r\n profile.OrganisationObject = {};\r\n profile.OrganisationName = \"\";\r\n profile.Sector = \"\";\r\n profile.SectorObject = {};\r\n profile.SubSector = \"\";\r\n profile.SubSectorObject = {};\r\n profile.AgeOfTopManagerObject = {};\r\n profile.AgeOfTopManager = \"\";\r\n profile.GenderOfTopManagerObject = {};\r\n profile.GenderOfTopManager = \"\";\r\n profile.SizeOfBusinessObject = {};\r\n profile.SizeOfBusiness = \"\";\r\n break;\r\n case \"TypeOfOrganisationObject\":\r\n profile.TypeOfOrganisation = value.DataValue;\r\n profile.OrganisationOptions = this.state.OrganisationList.filter(\r\n (list) => list.ParentId === value.Id\r\n );\r\n profile.Organisation = \"\";\r\n profile.OrganisationObject = {};\r\n profile.OrganisationName = \"\";\r\n profile.Sector = \"\";\r\n profile.SectorObject = {};\r\n profile.SubSector = \"\";\r\n profile.SubSectorObject = {};\r\n profile.AgeOfTopManagerObject = {};\r\n profile.AgeOfTopManager = \"\";\r\n profile.GenderOfTopManagerObject = {};\r\n profile.GenderOfTopManager = \"\";\r\n profile.SizeOfBusinessObject = {};\r\n profile.SizeOfBusiness = \"\";\r\n break;\r\n case \"OrganisationObject\":\r\n profile.Organisation = value.DataValue;\r\n profile.OrganisationName = \"\";\r\n profile.Sector = \"\";\r\n profile.SectorObject = {};\r\n profile.SubSector = \"\";\r\n profile.SubSectorObject = {};\r\n profile.AgeOfTopManagerObject = {};\r\n profile.AgeOfTopManager = \"\";\r\n profile.GenderOfTopManagerObject = {};\r\n profile.GenderOfTopManager = \"\";\r\n profile.SizeOfBusinessObject = {};\r\n profile.SizeOfBusiness = \"\";\r\n break;\r\n case \"SectorObject\":\r\n profile.Sector = value.DataValue;\r\n profile.SubSectorOptions = this.state.SubsectorList.filter(\r\n (subsec) => subsec.ParentId === value.Id\r\n );\r\n profile.SubSector = \"\";\r\n profile.SubSectorObject = {};\r\n profile.AgeOfTopManagerObject = {};\r\n profile.AgeOfTopManager = \"\";\r\n profile.GenderOfTopManagerObject = {};\r\n profile.GenderOfTopManager = \"\";\r\n profile.SizeOfBusinessObject = {};\r\n profile.SizeOfBusiness = \"\";\r\n break;\r\n case \"SubSectorObject\":\r\n profile.SubSector = value.DataValue;\r\n profile.SizeOfBusinessObject = {};\r\n profile.SizeOfBusiness = \"\";\r\n profile.AgeOfTopManagerObject = {};\r\n profile.AgeOfTopManager = \"\";\r\n profile.GenderOfTopManagerObject = {};\r\n profile.GenderOfTopManager = \"\";\r\n break;\r\n case \"SizeOfBusinessObject\":\r\n profile.SizeOfBusiness = value.DataValue;\r\n profile.AgeOfTopManagerObject = {};\r\n profile.AgeOfTopManager = \"\";\r\n profile.GenderOfTopManagerObject = {};\r\n profile.GenderOfTopManager = \"\";\r\n break;\r\n case \"AgeOfTopManagerObject\":\r\n profile.AgeOfTopManager = value.DataValue;\r\n profile.GenderOfTopManagerObject = {};\r\n profile.GenderOfTopManager = \"\";\r\n break;\r\n case \"GenderOfTopManagerObject\":\r\n profile.GenderOfTopManager = value.DataValue;\r\n break;\r\n default:\r\n break;\r\n }\r\n var visibility = VisiblityCheck(profile, this.state.Visiblity);\r\n this.setState({\r\n Profile: profile,\r\n Success: false,\r\n Failed: false,\r\n Wait: true,\r\n Visiblity: visibility,\r\n });\r\n this.SaveToBackend();\r\n }\r\n // Make the changes in the profile whenever the change is made in the text field\r\n EditProfileTextField(field, value) {\r\n var profile = this.state.Profile;\r\n profile[field] = value;\r\n this.setState({\r\n Profile: profile,\r\n });\r\n this.setState({\r\n Success: false,\r\n Failed: false,\r\n Wait: true,\r\n });\r\n }\r\n // Prefilling the profile with the previous options\r\n FillProfile(main_profile) {\r\n var profile = this.state.Profile;\r\n profile.UserId = main_profile.UserId;\r\n profile.Email = main_profile.Email;\r\n profile.CreateDate = main_profile.CreateDate;\r\n profile.RegistrationId = main_profile.RegistrationId;\r\n if (main_profile.UpdateDate) {\r\n profile.UpdateDate = main_profile.UpdateDate;\r\n }\r\n if (main_profile.FirstName) {\r\n profile.FirstName = main_profile.FirstName;\r\n }\r\n if (main_profile.LastName) {\r\n profile.LastName = main_profile.LastName;\r\n }\r\n if (main_profile.YearOfBirth) {\r\n profile.YearOfBirth = main_profile.YearOfBirth;\r\n }\r\n if (main_profile.Gender) {\r\n profile.Gender = main_profile.Gender;\r\n var gen = this.state.GenderList.find(\r\n (gender) => gender.DataValue === main_profile.Gender\r\n );\r\n profile.GenderObject = gen;\r\n }\r\n if (main_profile.Country) {\r\n profile.Country = main_profile.Country;\r\n var country = this.state.CountryList.find(\r\n (con) => con.DataValue === main_profile.Country\r\n );\r\n profile.CountryObject = country;\r\n }\r\n if (main_profile.Telephone) {\r\n profile.Telephone = main_profile.Telephone;\r\n }\r\n if (main_profile.ProfessionalStatus) {\r\n profile.ProfessionalStatus = main_profile.ProfessionalStatus;\r\n var prostatus = this.state.ProfessionalstatusList.find(\r\n (pro) => pro.DataValue === main_profile.ProfessionalStatus\r\n );\r\n profile.ProfessionalStatusObject = prostatus;\r\n }\r\n if (main_profile.TypeOfOrganisation) {\r\n profile.TypeOfOrganisation = main_profile.TypeOfOrganisation;\r\n var typeoforganisation = this.state.TypeoforganisationList.find(\r\n (org) => org.DataValue === main_profile.TypeOfOrganisation\r\n );\r\n profile.TypeOfOrganisationObject = typeoforganisation;\r\n profile.OrganisationOptions = this.state.OrganisationList.filter(\r\n (list) => list.ParentId === typeoforganisation.Id\r\n );\r\n }\r\n if (main_profile.Organisation) {\r\n profile.Organisation = main_profile.Organisation;\r\n var organisation = this.state.OrganisationList.find(\r\n (org) => org.DataValue === main_profile.Organisation\r\n );\r\n profile.OrganisationObject = organisation;\r\n }\r\n if (main_profile.OrganisationName) {\r\n profile.OrganisationName = main_profile.OrganisationName;\r\n }\r\n if (main_profile.Sector) {\r\n profile.Sector = main_profile.Sector;\r\n var sector = this.state.SectorList.find(\r\n (sec) => sec.DataValue === main_profile.Sector\r\n );\r\n profile.SectorObject = sector;\r\n profile.SubSectorOptions = this.state.SubsectorList.filter(\r\n (subsec) => subsec.ParentId === sector.Id\r\n );\r\n }\r\n if (main_profile.SubSector) {\r\n profile.SubSector = main_profile.SubSector;\r\n var subsector = this.state.SubsectorList.find(\r\n (sec) => sec.DataValue === main_profile.SubSector\r\n );\r\n profile.SubSectorObject = subsector;\r\n }\r\n if (main_profile.AgeOfTopManager) {\r\n profile.AgeOfTopManager = main_profile.AgeOfTopManager;\r\n var age = this.state.AgeoftopmanagerList.find(\r\n (ag) => ag.DataValue === main_profile.AgeOfTopManager\r\n );\r\n profile.AgeOfTopManagerObject = age;\r\n }\r\n if (main_profile.GenderOfTopManager) {\r\n profile.GenderOfTopManager = main_profile.GenderOfTopManager;\r\n var gender = this.state.GenderList.find(\r\n (gen) => gen.DataValue === main_profile.GenderOfTopManager\r\n );\r\n profile.GenderOfTopManagerObject = gender;\r\n }\r\n if (main_profile.SizeOfBusiness) {\r\n profile.SizeOfBusiness = main_profile.SizeOfBusiness;\r\n var size = this.state.SizeofbusinessList.find(\r\n (s) => s.DataValue === main_profile.SizeOfBusiness\r\n );\r\n profile.SizeOfBusinessObject = size;\r\n }\r\n var visbility = VisiblityCheck(profile, this.state.Visiblity);\r\n this.setState({\r\n Profile: profile,\r\n Visiblity: visbility,\r\n });\r\n }\r\n // Function to apply the changes to the backend\r\n async SaveToBackend() {\r\n var date = new Date().toISOString();\r\n date = date.substring(0, date.length - 1);\r\n var profile = this.state.Profile;\r\n for (const key in this.props.profile) {\r\n this.props.profile[key] = profile[key];\r\n }\r\n this.props.profile.UpdateDate = date;\r\n profile.UpdateDate = date;\r\n this.setState({\r\n Profile: profile,\r\n });\r\n var response = await saveProfile(\r\n this.props.profile,\r\n this.props.accessToken\r\n );\r\n if (response.status === 200 || response.status === 201) {\r\n this.setState({\r\n Success: true,\r\n Failed: false,\r\n Wait: false,\r\n });\r\n } else {\r\n this.setState({\r\n Success: false,\r\n Failed: true,\r\n Wait: false,\r\n });\r\n }\r\n }\r\n render() {\r\n const { t, tReady } = this.props;\r\n if (!tReady) {\r\n return null;\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

{t(\"menu_editprofile\")}

\r\n
\r\n
\r\n
\r\n
\r\n Email:{\" \"}\r\n {this.props.profile.Email}\r\n
\r\n
\r\n {this.state.Success && (\r\n
\r\n {t(\"Updated\")}{\" \"}\r\n \r\n
\r\n )}\r\n {this.state.Wait && (\r\n
\r\n \r\n
\r\n )}\r\n {this.state.Failed && (\r\n
\r\n {t(\"Failed\")} \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {\r\n this.EditProfileTextField(\"FirstName\", e.target.value);\r\n }}\r\n onBlurCapture={(e) => {\r\n this.SaveToBackend(\"FirstName\");\r\n }}\r\n value={this.state.Profile.FirstName}\r\n name=\"FirstName\"\r\n id=\"FirstName\"\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n {\r\n this.EditProfileTextField(\"LastName\", e.target.value);\r\n }}\r\n onBlurCapture={(e) => {\r\n this.SaveToBackend(\"LastName\");\r\n }}\r\n value={this.state.Profile.LastName}\r\n name=\"LastName\"\r\n id=\"LastName\"\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n {\r\n this.EditProfileTextField(\"YearOfBirth\", e.target.value);\r\n }}\r\n onBlurCapture={(e) => {\r\n this.SaveToBackend(\"YearOfBirth\");\r\n }}\r\n className=\"form-control\"\r\n format=\"####\"\r\n value={this.state.Profile.YearOfBirth}\r\n name=\"YearOfBirth\"\r\n id=\"YearOfBirth\"\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n t(item.DisplayText)}\r\n getOptionValue={(item) => item.DataValue}\r\n value={this.state.Profile.GenderObject}\r\n onChange={(e) => {\r\n this.EditProfileDropDown(\"GenderObject\", e);\r\n }}\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n t(item.DisplayText)}\r\n getOptionValue={(item) => item.DataValue}\r\n value={this.state.Profile.CountryObject}\r\n onChange={(e) => {\r\n this.EditProfileDropDown(\"CountryObject\", e);\r\n }}\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n {\r\n this.EditProfileTextField(\"Telephone\", e.target.value);\r\n }}\r\n onBlurCapture={(e) => {\r\n this.SaveToBackend(\"Telephone\");\r\n }}\r\n value={this.state.Profile.Telephone}\r\n name=\"Telephone\"\r\n id=\"Telephone\"\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n t(item.DisplayText)}\r\n getOptionValue={(item) => item.DataValue}\r\n value={this.state.Profile.ProfessionalStatusObject}\r\n onChange={(e) => {\r\n this.EditProfileDropDown(\"ProfessionalStatusObject\", e);\r\n }}\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n t(item.DisplayText)}\r\n getOptionValue={(item) => item.DataValue}\r\n value={this.state.Profile.TypeOfOrganisationObject}\r\n onChange={(e) => {\r\n this.EditProfileDropDown(\"TypeOfOrganisationObject\", e);\r\n }}\r\n />\r\n \r\n
\r\n {this.state.Profile.OrganisationOptions.length !== 0 && (\r\n
\r\n \r\n \r\n t(item.DisplayText)}\r\n getOptionValue={(item) => item.DataValue}\r\n value={this.state.Profile.OrganisationObject}\r\n onChange={(e) => {\r\n this.EditProfileDropDown(\"OrganisationObject\", e);\r\n }}\r\n />\r\n \r\n
\r\n )}\r\n {this.state.Visiblity.ShowOrgName && (\r\n
\r\n \r\n \r\n {\r\n this.EditProfileTextField(\r\n \"OrganisationName\",\r\n e.target.value\r\n );\r\n }}\r\n onBlurCapture={(e) => {\r\n this.SaveToBackend(\"OrganisationName\");\r\n }}\r\n value={this.state.Profile.OrganisationName}\r\n name=\"OrganisationName\"\r\n id=\"OrganisationName\"\r\n />\r\n \r\n
\r\n )}\r\n {this.state.Visiblity.ShowSector && (\r\n
\r\n \r\n \r\n t(item.DisplayText)}\r\n getOptionValue={(item) => item.DataValue}\r\n value={this.state.Profile.SectorObject}\r\n onChange={(e) => {\r\n this.EditProfileDropDown(\"SectorObject\", e);\r\n }}\r\n />\r\n \r\n
\r\n )}\r\n {this.state.Visiblity.ShowSector && (\r\n
\r\n \r\n \r\n t(item.DisplayText)}\r\n getOptionValue={(item) => item.DataValue}\r\n value={this.state.Profile.SubSectorObject}\r\n onChange={(e) => {\r\n this.EditProfileDropDown(\"SubSectorObject\", e);\r\n }}\r\n />\r\n \r\n
\r\n )}\r\n {this.state.Visiblity.ShowSizeOfBusiness && (\r\n
\r\n \r\n \r\n t(item.DisplayText)}\r\n getOptionValue={(item) => item.DataValue}\r\n value={this.state.Profile.SizeOfBusinessObject}\r\n onChange={(e) => {\r\n this.EditProfileDropDown(\"SizeOfBusinessObject\", e);\r\n }}\r\n />\r\n \r\n
\r\n )}\r\n {this.state.Visiblity.ShowTopManager && (\r\n
\r\n \r\n \r\n t(item.DisplayText)}\r\n getOptionValue={(item) => item.DataValue}\r\n value={this.state.Profile.AgeOfTopManagerObject}\r\n onChange={(e) => {\r\n this.EditProfileDropDown(\"AgeOfTopManagerObject\", e);\r\n }}\r\n />\r\n \r\n
\r\n )}\r\n {this.state.Visiblity.ShowTopManager && (\r\n
\r\n \r\n \r\n t(item.DisplayText)}\r\n getOptionValue={(item) => item.DataValue}\r\n value={this.state.Profile.GenderOfTopManagerObject}\r\n onChange={(e) => {\r\n this.EditProfileDropDown(\"GenderOfTopManagerObject\", e);\r\n }}\r\n />\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {t(\"UpdateDate\")}:{\" \"}\r\n {moment(this.state.Profile.UpdateDate + this.GetTimeZone()).format(\r\n \"DD/MM/yyyy HH:mm:ss\"\r\n )}\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withTranslation()(ProfForm);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport ProfileForm from \"./ProfileForm\";\r\nimport { useMsal } from \"@azure/msal-react\";\r\nimport { fetchProfile, GetMasterList } from \"../functions/ApiCalls\";\r\nimport { protectedResources } from \"../AuthConfig\";\r\n\r\nfunction IframeForm() {\r\n const { instance } = useMsal();\r\n const [profile, setProfile] = useState({});\r\n const [MasterList, setMasterList] = useState([]);\r\n const [accessToken, setAccessToken] = useState(\"\");\r\n useEffect(() => {\r\n async function handleRedirect() {\r\n // Get All accounts in the msal Instance\r\n const accounts = await instance.getAllAccounts();\r\n if (accounts.length > 0) {\r\n // If any account then set the first account as active account\r\n await instance.setActiveAccount(accounts[0]);\r\n }\r\n // Check if user signed in\r\n const account = await instance.getActiveAccount();\r\n if (account) {\r\n // If present then fetch the access token silently\r\n await instance\r\n .acquireTokenSilent({\r\n scopes: protectedResources.api.scopes,\r\n account: account,\r\n })\r\n .then(async (response) => {\r\n setAccessToken(response.accessToken);\r\n setMasterList(await GetMasterList(response.accessToken));\r\n setProfile(await fetchProfile(response));\r\n })\r\n .catch(async (error) => {\r\n await instance\r\n .acquireTokenPopup({\r\n scopes: protectedResources.api.scopes,\r\n })\r\n .then(async (response) => {\r\n setAccessToken(response.accessToken);\r\n setMasterList(await GetMasterList(response.accessToken));\r\n setProfile(await fetchProfile(response));\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n });\r\n } else {\r\n // Else acquire the account and access token with the help of popup\r\n await instance\r\n .acquireTokenPopup({\r\n scopes: protectedResources.api.scopes,\r\n })\r\n .then(async (response) => {\r\n setAccessToken(response.accessToken);\r\n setMasterList(await GetMasterList(response.accessToken));\r\n setProfile(await fetchProfile(response));\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }\r\n handleRedirect();\r\n }, [instance]);\r\n\r\n /* const { token, setToken } = useState(\"\"); */\r\n return (\r\n
\r\n {profile.Email ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n

Loading...

\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default IframeForm;\r\n","import i18next from \"i18next\";\r\nimport { initReactI18next } from \"react-i18next\";\r\nimport axios from \"axios\";\r\nimport backend from \"i18next-http-backend\";\r\nimport { API_URL } from \"../AuthConfig\";\r\n\r\n// Instance for making requests\r\n\r\nconst instance = axios.create({\r\n withCredentials: false,\r\n baseURL: API_URL,\r\n});\r\n\r\nconst loadResources = async (locale) => {\r\n return await instance\r\n .get(`AppTranslations/get/${locale}`)\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n};\r\n\r\n// Backend Options for I18n\r\n\r\nconst backendOptions = {\r\n loadPath: \"{{lng}}|{{ns}}\",\r\n request: (options, url, payload, callback) => {\r\n try {\r\n const [lng] = url.split(\"|\");\r\n loadResources(lng).then((response) => {\r\n callback(null, {\r\n data: response,\r\n status: 200,\r\n });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n callback(null, {\r\n status: 500,\r\n });\r\n }\r\n },\r\n};\r\n\r\n// Initialize I18n\r\n\r\ni18next\r\n .use(initReactI18next)\r\n .use(backend)\r\n .init({\r\n backend: backendOptions,\r\n fallbackLng: \"en\",\r\n debug: true,\r\n load: \"languageOnly\",\r\n ns: [\"translations\"],\r\n defaultNS: \"translations\",\r\n keySeparator: false,\r\n interpolation: {\r\n escapeValue: false,\r\n formatSeparator: \",\",\r\n },\r\n react: {\r\n useSuspense: false,\r\n },\r\n });\r\n\r\nexport default i18next;\r\n","import React from \"react\";\r\nimport { useMsal } from \"@azure/msal-react\";\r\nimport { Button } from \"reactstrap\";\r\n\r\nfunction handleLogout(instance) {\r\n instance.logoutRedirect().catch((e) => {\r\n console.error(e);\r\n });\r\n}\r\n\r\nconst SignOutButton = (props) => {\r\n const { instance } = useMsal();\r\n const { t } = props;\r\n return (\r\n handleLogout(instance)}\r\n >\r\n {t(\"Logout\")}\r\n \r\n );\r\n};\r\n\r\nexport default SignOutButton;\r\n","import React, { Component } from \"react\";\r\nimport { FormGroup, Input } from \"reactstrap\";\r\nimport i18n from \"../i18n/config\";\r\nimport { withTranslation } from \"react-i18next\";\r\nimport SignOutButton from \"./SignOutButton\";\r\n\r\nclass Header extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n Language: {\r\n Id: 4,\r\n },\r\n LanguageList: [],\r\n };\r\n }\r\n componentDidMount() {\r\n var state = this.state;\r\n if (this.props.showLanguage === true) {\r\n // Fill all language options with the available options\r\n state.LanguageList = this.props.masterlist.filter((list) => {\r\n return list.ListType === \"language\";\r\n });\r\n }\r\n this.setState(state);\r\n }\r\n // Function to make the language changes when different langauage is selected\r\n changeLanguage(value) {\r\n var language = this.state.Language;\r\n language.Id = parseInt(value);\r\n var lang = this.state.LanguageList.find(\r\n (lng) => lng.Id === parseInt(value)\r\n );\r\n if (lang) {\r\n let languageCode = \"en\";\r\n switch (lang.DataValue) {\r\n case \"English\":\r\n languageCode = \"en\";\r\n break;\r\n case \"French\":\r\n languageCode = \"fr\";\r\n break;\r\n case \"Spanish\":\r\n languageCode = \"es\";\r\n break;\r\n default:\r\n languageCode = \"en\";\r\n break;\r\n }\r\n i18n.changeLanguage(languageCode);\r\n }\r\n this.setState({\r\n Language: language,\r\n });\r\n }\r\n render() {\r\n const { t, tReady } = this.props;\r\n if (!tReady) {\r\n return null;\r\n }\r\n return (\r\n
\r\n \r\n
\r\n \"Home\"\r\n
\r\n {this.props.showLanguage ? (\r\n
\r\n \r\n {\r\n this.changeLanguage(e.target.value);\r\n }}\r\n >\r\n {this.state.LanguageList.map((lang) => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n ) : (\r\n
\r\n \r\n {t(\"menu_editprofile\")}\r\n \r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withTranslation()(Header);\r\n","import React from \"react\";\r\n\r\nexport default function Footer({ showLinks }) {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n {showLinks && (\r\n \r\n Terms of Use\r\n \r\n )}\r\n
\r\n {/*
\r\n \r\n Terms and Conditions\r\n \r\n
*/}\r\n
\r\n © International Trade Centre -{\" \"}\r\n {new Date().getFullYear()}\r\n
\r\n
\r\n {showLinks && (\r\n \r\n Privacy policy\r\n \r\n )}\r\n
\r\n {/*
\r\n \r\n Interface Privacy and Cookies\r\n \r\n
*/}\r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Header from \"./Header\";\r\nimport Footer from \"./Footer\";\r\nimport ProfileForm from \"./ProfileForm\";\r\nimport { useMsal } from \"@azure/msal-react\";\r\nimport { fetchProfile, GetMasterList } from \"../functions/ApiCalls\";\r\nimport { protectedResources, loginRequest, Redirect } from \"../AuthConfig\";\r\n\r\nexport default function EditProfile() {\r\n const { instance } = useMsal();\r\n const [profile, setProfile] = useState({});\r\n const [MasterList, setMasterList] = useState([]);\r\n const [accessToken, setAccessToken] = useState(\"\");\r\n useEffect(() => {\r\n async function handleRedirect() {\r\n // Get All accounts in the msal Instance\r\n const accounts = await instance.getAllAccounts();\r\n if (accounts.length > 0) {\r\n // If any account then set the first account as active account\r\n await instance.setActiveAccount(accounts[0]);\r\n }\r\n\r\n await instance.addEventCallback(\r\n (event) => {\r\n // set active account after redirect\r\n if (\r\n event.eventType === \"msal:loginSuccess\" &&\r\n event.payload.account\r\n ) {\r\n const account = event.payload.account;\r\n instance.setActiveAccount(account);\r\n }\r\n },\r\n (error) => {\r\n console.log(\"error\", error);\r\n }\r\n );\r\n\r\n // handle auth redired/do all initial setup for msal\r\n instance\r\n .handleRedirectPromise()\r\n .then(async (authResult) => {\r\n // Check if user signed in\r\n const account = instance.getActiveAccount();\r\n if (!account) {\r\n // redirect anonymous user to login page\r\n await instance.loginRedirect({\r\n redirectUri: Redirect,\r\n scopes: loginRequest.scopes,\r\n });\r\n } else {\r\n // Acquire access token\r\n await instance\r\n .acquireTokenSilent({\r\n scopes: protectedResources.api.scopes,\r\n account: account,\r\n })\r\n .then(async (response) => {\r\n // Fill the necessary things by fetching the data from backend\r\n setAccessToken(response.accessToken);\r\n setMasterList(await GetMasterList(response.accessToken));\r\n setProfile(await fetchProfile(response));\r\n })\r\n .catch(async (error) => {\r\n await instance.loginRedirect({\r\n redirectUri: Redirect,\r\n scopes: loginRequest.scopes,\r\n });\r\n console.log(error);\r\n });\r\n }\r\n })\r\n .catch(\r\n async (err) => {\r\n // If any error found then redirect it to the login page\r\n await instance.loginRedirect({\r\n redirectUri: Redirect,\r\n scopes: loginRequest.scopes,\r\n });\r\n console.log(err);\r\n }\r\n // TODO: Handle errors\r\n );\r\n }\r\n handleRedirect();\r\n }, [instance]);\r\n\r\n return (\r\n
\r\n {profile.Email ? (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n

Loading...

\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import Header from \"./Header\";\r\nimport Footer from \"./Footer\";\r\nexport default function TermsOfUse() {\r\n return (\r\n
\r\n
\r\n
\r\n

TERMS OF USE

\r\n
\r\n
\r\n The International Trade Centre (hereinafter referred to as “ITC”),\r\n with headquarters in Geneva, Switzerland, is a joint subsidiary\r\n organ of the United Nations and the World Trade Organization\r\n (hereinafter collectively referred to as the “Parent\r\n Organizations”). Please read these Terms of Use carefully before\r\n proceeding to access and use ITC's webpages, as it sets out the\r\n terms of a legally binding agreement between you (hereinafter the\r\n “User”) and ITC. Registered users of our Website, Products and\r\n Services are “Registrants”.\r\n
\r\n
\r\n
    \r\n

    \r\n
  1. \r\n AGREEMENT\r\n
    \r\n By accessing, using or registering to our Website, products\r\n and services (described below), you are agreeing to enter\r\n into a legally binding contract with ITC (even if you are\r\n using our Services on behalf of an entity). If you do not\r\n agree to these Terms of Use, do not access or otherwise use\r\n this Website or any related Products or Services nor proceed\r\n with the registration process.\r\n
    \r\n
  2. \r\n

    \r\n

    \r\n
  3. \r\n PRIVACY POLICY\r\n
    \r\n As a part of accessing or using the Website and associated\r\n Products and Services, ITC may collect, access, use and\r\n share certain Personal Information and Cookies (as defined\r\n in the Privacy Policy) from,\r\n and/or about, you. Please read ITC{\" \"}\r\n Privacy Policy, which is\r\n incorporated herein by reference, for a description of such\r\n data collection and use practices.\r\n
    \r\n
  4. \r\n

    \r\n

    \r\n
  5. \r\n WEBSITE AND ASSOCIATED PRODUCTS AND SERVICES\r\n
      \r\n
      \r\n
    1. \r\n ITC offers products and services accessible through its\r\n Website (hereinafter the \"Products\" and \"Services\").\r\n Should the User or Registrant not agree to these Terms\r\n of Use, the User or Registrant should not continue the\r\n use and/or registration with ITC's Website.\r\n
    2. \r\n
      \r\n
      \r\n
    3. \r\n ITC grants permission to Registrants to use products and\r\n services accessible through registration.\r\n
    4. \r\n
      \r\n
      \r\n
    5. \r\n ITC grants permission to the User to visit the Website\r\n and to consult documents, presentations and materials\r\n made available online (hereinafter collectively, the\r\n “Informative Material”) for the User’s personal and\r\n non-commercial use only, without any right to resell or\r\n redistribute them or to compile or create derivative\r\n works there from, subject to the terms outlined below,\r\n and also subject to more specific provisions that may\r\n apply to specific Informative Material within this\r\n Website.\r\n
    6. \r\n
      \r\n
    \r\n
  6. \r\n

    \r\n\r\n

    \r\n
  7. \r\n BEHAVIOUR GUIDELINES\r\n
    \r\n This Website may contain bulletin boards, interactive forms,\r\n feedback, contact pages, discussion fora, frequently asked\r\n questions (FAQs) and answers, access to mailing lists or\r\n other message or communication facilities (hereinafter\r\n collectively, “Forums”) and private communication channels\r\n to be used in the context of the Services delivery\r\n (hereinafter: “User’s Interaction Tools”), the Registrant\r\n agrees to use the Forums and the User’s Interaction Tools\r\n only to send and receive messages and materials that are\r\n proper and related to the particular Forum and/or User’s\r\n Interaction Tool. By way of example and not as a limitation,\r\n the Registrant agrees that when using a Forum and/or User’s\r\n Interaction Tool, he or she shall not do any of the\r\n following:\r\n
    \r\n
    \r\n
    a{\")\"}
    \r\n
    \r\n defame, abuse, harass, stalk, threaten or otherwise\r\n violate the legal rights (such as rights of privacy\r\n and publicity) of others;\r\n
    \r\n
    \r\n
    \r\n
    b{\")\"}
    \r\n
    \r\n publish, post, distribute or disseminate any\r\n defamatory, infringing, obscene, indecent or unlawful\r\n material or information;\r\n
    \r\n
    \r\n
    \r\n
    c{\")\"}
    \r\n
    \r\n upload or attach files that contain software or other\r\n material protected by intellectual property laws (or\r\n by rights of privacy and publicity) unless the User\r\n owns or controls the rights thereto or has received\r\n all consents as may be required by law;\r\n
    \r\n
    \r\n
    \r\n
    d{\")\"}
    \r\n
    \r\n upload or attach files that contain viruses, corrupted\r\n files or any other similar software or programs that\r\n may damage the operation of another’s computer;\r\n
    \r\n
    \r\n
    \r\n
    e{\")\"}
    \r\n
    \r\n delete any author attributions, legal notices or\r\n proprietary designations or labels in any file that is\r\n uploaded\r\n
    \r\n
    \r\n
    \r\n
    f{\")\"}
    \r\n
    \r\n falsify the origin or source of software or other\r\n material contained in a file that is uploaded;\r\n
    \r\n
    \r\n
    \r\n
    g{\")\"}
    \r\n
    \r\n advertise or offer to sell any goods or services, or\r\n conduct or forward surveys, contests or chain letters,\r\n or download any file posted by another user of a Forum\r\n and/or User’s Interaction Tool that the Registrant\r\n knows, or reasonably should know, cannot be legally\r\n distributed in such manner.\r\n
    \r\n 0\r\n
    \r\n
    \r\n
    \r\n
    \r\n The Registrant acknowledges that all Forums and discussion\r\n groups are public and not private communications. Further,\r\n the Registrant acknowledges that chats, postings,\r\n conferences, e-mails and other communications by other\r\n Registrants are not endorsed by the ITC unless expressly\r\n stated otherwise, and that such communications shall not be\r\n considered to have been reviewed, screened or approved by\r\n the ITC. ITC reserves the right to remove, for any reason\r\n and without notice, any content of the Forums and/or User\r\n Interaction Tools received from the Registrant, including,\r\n without limitation, e-mail and bulletin board postings.\r\n
    \r\n
  8. \r\n

    \r\n

    \r\n
  9. \r\n THIRD-PARTY WEBSITES\r\n
    \r\n ITC’s Website may include links and references to\r\n third-party websites. Clicking on those links or enabling\r\n those connections may allow third parties to collect or\r\n share data about you including your Personal Data. ITC has\r\n no control over, and is not responsible for, these\r\n third-party websites or how they process data, and ITC is\r\n not responsible for the privacy policies and practices of\r\n any third party. ITC provides these links only as a\r\n convenience, and the inclusion of a link or reference does\r\n not imply the endorsement of the Linked Website by ITC. When\r\n you leave the Website, ITC encourages you to read the\r\n privacy policy of every website you visit.\r\n
    \r\n
  10. \r\n

    \r\n\r\n

    \r\n
  11. \r\n DISCLAIMERS\r\n
      \r\n
      \r\n
    1. \r\n This Website and any of its contents including the\r\n Informative Material and associated Products and\r\n Services provided on this Website are provided “as is”\r\n and “with all faults” and are subject to change, without\r\n warranty or representation of any kind, either express\r\n or implied, including, without limitation, warranties of\r\n merchantability, fitness for a particular purpose and\r\n non-infringement. ITC specifically does not make any\r\n warranties or representations as to the accuracy or\r\n completeness of the Website and any of its contents,\r\n including the Informative Material and associated\r\n Products and Services. ITC periodically adds, changes,\r\n improves or updates this Website and its contents\r\n including the Informative Material and associated\r\n Services without any notice.\r\n
    2. \r\n
      \r\n
      \r\n
    3. \r\n The availability of the Website, any of its contents\r\n including the Informative Material and associated\r\n Services are not guaranteed. ITC does not warrant or\r\n promise that the Website and any of its contents\r\n including the Informative Material and the Services will\r\n always be available or fully functional and reserve the\r\n right to withdraw the Website, any of its contents\r\n including the Informative Material and the Services at\r\n any time.\r\n
    4. \r\n
      \r\n
      \r\n
    5. \r\n The Website may contain advice, opinions and statements\r\n of various information providers. ITC does not represent\r\n or endorse the accuracy or reliability of any advice,\r\n opinion, statement or other information provided by any\r\n information provider, any User or Registrant of this\r\n Website or any other person or entity. Reliance upon any\r\n such advice, opinion, statement, or other information\r\n shall also be at the User’s or Registrant’s own risk.\r\n Neither ITC nor its Parent Organizations, nor any of\r\n their respective agents, employees, information\r\n providers or content providers, shall be liable to any\r\n User, Registrant or anyone else for any inaccuracy,\r\n error, omission, interruption, deletion, defect,\r\n alteration of or use of any content herein, or for its\r\n timeliness or completeness, nor shall they be liable for\r\n any failure of performance, computer virus or\r\n communication line failure, regardless of cause, or for\r\n any damages resulting therefrom.\r\n
    6. \r\n
      \r\n
      \r\n
    7. \r\n The designations employed and contained on the Website,\r\n any of its contents including the Informative Material\r\n and associated Products and Services, do not imply the\r\n expression of any opinion whatsoever on the part of ITC\r\n and its Parent Organizations concerning the legal status\r\n of any country, territory, city or area or of its\r\n authorities, or concerning the delimitation of its\r\n frontiers or boundaries. The term “country” as used on\r\n the Website, any of its contents including the\r\n Informative Material and associated Products and\r\n Services, also refers, as appropriate, to territories or\r\n areas.\r\n
    8. \r\n
      \r\n
    \r\n
  12. \r\n

    \r\n\r\n

    \r\n
  13. \r\n EXCLUSION OF LIABILITY\r\n
    \r\n Under no circumstances whatsoever, including but not limited\r\n to negligence, shall ITC or its Parent Organizations be\r\n liable for any direct, indirect, incidental, special or\r\n consequential costs, losses, claims, damages, expenses or\r\n proceedings of whatever nature incurred or suffered by any\r\n User or Registrant arising directly or indirectly in\r\n connection with their use of this Website, any of its\r\n contents including the Informative Material and the Products\r\n and Services, including without limitation, any fault,\r\n error, omission, interruption or delay with respect thereto\r\n or due to any unavailability of parts or all of the Website\r\n and any of its contents including the Informative Material\r\n and the Services, even if the ITC has been advised of the\r\n possibility of such damages. The User or Registrant\r\n specifically acknowledges and agrees that the ITC and its\r\n Parent Organizations are not liable for any conduct of any\r\n User or Registrant.\r\n
    \r\n
  14. \r\n

    \r\n\r\n

    \r\n
  15. \r\n INDEMNITY\r\n
    \r\n As a condition of use of this Website, the User or\r\n Registrant agrees to indemnify and hold harmless ITC and its\r\n Parent Organizations from and against any and all actions,\r\n claims, losses, damages, liabilities and expenses (including\r\n reasonable attorneys’ fees) arising out or in connection\r\n with the User’s or Registrant’s use of this Website, any of\r\n its contents including the Informative Material and\r\n associated Products and Services, including, without\r\n limitation, any claims alleging facts that if true would\r\n constitute a breach by the User or Registrant of these Terms\r\n of Use. If the User or Registrant is dissatisfied with this\r\n Website, any of its contents including the Informative\r\n Material and the Services or with its Terms of Use, the\r\n User’s or Registrant’s sole and exclusive remedy is to\r\n discontinue the use and registration on the Website, its\r\n contents or associated Products and Services.\r\n
    \r\n
  16. \r\n

    \r\n

    \r\n
  17. \r\n INTELLECTUAL PROPERTY RIGHTS\r\n
      \r\n
      \r\n
    1. \r\n All content included in or made available through the\r\n Website, including the Informative Material, the\r\n associated Products and Services, the Service Material\r\n (as define below) and material such as software,\r\n application programming interface, design, text,\r\n graphics, button icons, editorial materials,\r\n informational text, photographs, illustrations, audio\r\n clips, video clips, artwork and other graphic materials,\r\n and names, logos, trademarks and services marks, digital\r\n downloads, data compilations and any and all related or\r\n underlying technology and any modifications,\r\n enhancements or derivative works of the foregoing\r\n (collectively, “ITC Intellectual Property”) is the\r\n exclusively property of ITC may be protected by\r\n applicable copyright or other intellectual property laws\r\n and treaties.\r\n
    2. \r\n
      \r\n
      \r\n
    3. \r\n Except for the Informative Material (as set out in\r\n Clause 3 above), the User or Registrant may not extract\r\n and/or re-utilise parts of the ITC Intellectual\r\n Property.\r\n
    4. \r\n
      \r\n
      \r\n
    5. \r\n ITC Intellectual Property may not be used in connection\r\n with any product or service that is not ITC's, in any\r\n manner that is likely to cause confusion among\r\n beneficiaries or in any manner that disparages or\r\n discredits ITC. All other intellectual proprieties not\r\n owned by ITC that may appear on the Website are the\r\n property of their respective owners, who may or may not\r\n be affiliated with or connected to ITC.\r\n
    6. \r\n
      \r\n
    \r\n
  18. \r\n

    \r\n

    \r\n
  19. LICENSE AND OWNERSHIP
  20. \r\n

    \r\n Any tools, methodologies, documents or other materials\r\n (collectively referred as to the “Service Material”)\r\n distributed or rendered accessible as the case may be by ITC\r\n to the User or Registrant in the framework of the Services are\r\n provided to the User or Registrant on a non-exclusive basis as\r\n a means to ensure timely implementation of activities under a\r\n specific project and technical work on a non-commercial basis,\r\n uniquely for use of the User or Registrant. The User or\r\n Registrant acknowledges and agrees that all rights, title and\r\n interests in and to the Service Material, including without\r\n limitation the copyright to the Service Material and all\r\n intellectual property rights therein, belong to and are\r\n possessed or owned by ITC and that ITC retains the right to\r\n make such use of the Services Material as it may consider\r\n necessary in its sole discretion. The User or Registrant shall\r\n therefore refrain from attributing in any manner whatsoever\r\n the Service Material or any portion thereof to itself or to\r\n any person or entity other than ITC.\r\n
    \r\n \r\n

    \r\n
  21. ITC LEGAL STATUS
  22. \r\n
      \r\n
      \r\n
    1. \r\n ITC enjoys privileges and immunities by the Convention on\r\n the privileges and immunities of the United Nations\r\n adopted by the General Assembly of the United Nations on\r\n 13th February 1946 (hereinafter the “Privileges and\r\n Immunities”).\r\n
    2. \r\n
    3. \r\n Nothing contained in or relating to these Terms of Use\r\n shall constitute or be considered to be a limitation upon\r\n or a waiver, express or implied, of the Privileges and\r\n Immunities of the ITC, which are specifically reserved.\r\n
    4. \r\n
      \r\n
    \r\n

    \r\n\r\n

    \r\n
  23. DISPUTE SETTLEMENT
  24. \r\n

    \r\n Any dispute, controversy or claim arising out of these Terms\r\n of Use shall, unless settled amicably by direct negotiations\r\n in accordance with the UNCITRAL Conciliation Rules, be\r\n referred to arbitration in accordance with the UNICTRAL\r\n Arbitration Rules. Both ITC and the User or Registrant shall\r\n be bound by the arbitration award rendered in accordance with\r\n such arbitration, as the final adjudication of any such\r\n dispute, controversy or claim.\r\n
    \r\n \r\n

    \r\n
  25. GENERAL RIGHTS OF ITC
  26. \r\n
      \r\n
      \r\n
    1. \r\n ITC reserves its exclusive right in its sole discretion to\r\n alter, limit or discontinue the Website, any of its\r\n contents including the Informative Material and associated\r\n Products and Services in any respect. ITC shall have no\r\n obligation to take the needs of any User or Registrant\r\n into consideration in connection therewith.\r\n
    2. \r\n
    3. \r\n ITC reserves the right to deny in its sole discretion any\r\n User or Registrant access to this Website or any portion\r\n thereof and any of its contents including the Informative\r\n Material and associated Products and Services without any\r\n prior notice.\r\n
    4. \r\n
    5. \r\n No waiver by ITC of any provision of these Terms of Use\r\n shall be binding except as set forth in writing and signed\r\n by its duly authorized representative.\r\n
    6. \r\n
      \r\n
    \r\n

    \r\n\r\n

    \r\n
  27. AMENDMENTS
  28. \r\n

    \r\n We may update these Terms of Use from time to time by\r\n publishing a new version on the Website. ITC thus encourages\r\n you to visit this section of the Website regularly in order to\r\n keep up to date with any changes. Changes to the Terms of Use\r\n will apply from the date they are posted on the Website and\r\n shall not apply retroactively.\r\n
    \r\n \r\n

    \r\n
  29. CONTACT DETAILS
  30. \r\n

    \r\n You can contact ITC to verify or rectify your Personal Data\r\n using the ITC Website contact form{\" \"}\r\n \r\n here\r\n {\" \"}\r\n or by post to:\r\n
    \r\n
    \r\n International Trade Centre\r\n
    \r\n Palais des Nations\r\n
    \r\n CH-1211 Geneva 10\r\n
    \r\n Switzerland\r\n
    \r\n \r\n

    \r\n
  31. VERSION DETAILS
  32. \r\n\r\n

    \r\n This policy was last updated 01 November 2022 and supersedes\r\n all previous versions.\r\n
    \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import Header from \"./Header\";\r\nimport Footer from \"./Footer\";\r\nexport default function PrivacyPolicy() {\r\n return (\r\n
\r\n
\r\n \r\n

ITC PRIVACY POLICY

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

\r\n The International Trade Centre (hereinafter referred to as “ITC”,\r\n “we”, “us”, or “our”), with headquarters in Geneva, Switzerland,\r\n is a joint subsidiary organ of the United Nations and the World\r\n Trade Organization. Please read this privacy policy (the “Privacy\r\n Policy”) carefully before proceeding to access and use ITC's\r\n webpages, or creating an account, as it sets out the terms of a\r\n legally binding agreement between you and ITC.\r\n

\r\n

\r\n ITC recognizes the immense potential of new technologies for its\r\n trade-related technical assistance activities, and we aim to\r\n incorporate them into our activities. At the same time, we are\r\n aware of the importance of the United Nations Personal Data\r\n Protection and Privacy Principles and of putting them into effect.\r\n As a result, ITC has adopted this Privacy Policy that enables us\r\n to undertake our operations whilst securing your personal data.\r\n Through this Privacy Policy, we wish to inform you about the\r\n collection, retention, securing and processing of your personal\r\n data in the context of your registration, visit to and use of this\r\n website (the “Website”) regardless of where you visit it from or\r\n how you access it.\r\n

\r\n

\r\n ITC will process your data in a fair manner, in accordance with\r\n your consent and best interests and consistent with our mandate\r\n and governing instruments. Any personal data collected through\r\n your use of the Website, or disclosed to ITC by registrants of the\r\n Website, is processed for the purposes set forth in this Privacy\r\n Policy, or in the relevant pages of the Website. Your personal\r\n data will not be processed in ways that are incompatible with such\r\n purposes.\r\n

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

    \r\n
  1. \r\n INTRODUCTION\r\n
      \r\n
      \r\n
    1. \r\n By using or registering ITC’s Website or associated\r\n Products and Services you acknowledge and agree to this\r\n Privacy Policy.\r\n
    2. \r\n
      \r\n
      \r\n
    3. \r\n Registered users of our Websites, Products and Services\r\n are “Registrants”.\r\n
    4. \r\n
      \r\n
      \r\n
    5. \r\n It is important that you read this Privacy Policy,\r\n together with any other privacy policy ITC may provide\r\n on specific occasions when ITC is collecting or\r\n processing personal data about you, so that you are\r\n completely aware of how and why ITC is collecting and\r\n processing your data.\r\n
    6. \r\n
      \r\n
      \r\n
    7. \r\n This Privacy Policy supplements other policies of ITC,\r\n incl. of other websites operated by ITC, and is not\r\n intended to supplant them. You must also check the{\" \"}\r\n Terms of Use, as well as\r\n any supplementary terms and conditions that may regulate\r\n the use of this Website, the Products and Services\r\n channelled throughout the same.\r\n
    8. \r\n
      \r\n
    \r\n
  2. \r\n

    \r\n

    \r\n
  3. \r\n THE PERSONAL DATA WE COLLECT\r\n
      \r\n
      \r\n
    1. \r\n Providing personal data is your choice. When you\r\n register and create a user account with ITC, you\r\n knowingly provide ITC with personal data about you.\r\n
    2. \r\n
      \r\n
      \r\n
    3. \r\n The type of personal data we ask you to provide will be\r\n duly set out on the relevant page of the Website when\r\n you register. This information may include your name,\r\n surname, email address, and phone number, as well as\r\n other personal data about you. Such personal data\r\n relating to you are referred to as your “Personal Data”.\r\n
    4. \r\n
      \r\n
      \r\n
    5. \r\n Providing your Personal Data is voluntary, but failure\r\n to provide certain Personal Data we request could\r\n prevent you from using certain services or accessing\r\n certain parts of the Website.\r\n
    6. \r\n
      \r\n
      \r\n
    7. \r\n In continuing to use the Website, you consent to ITC\r\n collecting, storing and using additional information\r\n about your computer, and your visits to and use of the\r\n Website (including your IP address, geographical\r\n location, browser type and version, operating system,\r\n referral source, length of visit, page views and website\r\n navigation paths). For more information on how we do\r\n this, please see our Cookie Policy in section 11 below.\r\n
    8. \r\n
      \r\n
    \r\n
  4. \r\n

    \r\n

    \r\n
  5. \r\n HOW WE USE YOUR PERSONAL DATA\r\n
      \r\n
      \r\n
    1. \r\n The Personal Data you submit through the Website will be\r\n only used for the purposes specified in this Privacy\r\n Policy, or in the relevant pages of the Website when\r\n applicable. Processing of Personal Data will be\r\n relevant, limited and adequate to what is required for\r\n these purposes.\r\n
    2. \r\n
      \r\n
      \r\n
    3. \r\n ITC may use your Personal Data to:\r\n
      \r\n
      \r\n
      a{\")\"}
      \r\n
      \r\n provide you with access to the Website and\r\n associated Products and Services;\r\n
      \r\n
      \r\n
      \r\n
      b{\")\"}
      \r\n
      \r\n administer the Website and activities;\r\n
      \r\n
      \r\n
      \r\n
      c{\")\"}
      \r\n
      \r\n generate analytical information for ITC about its\r\n user base;\r\n
      \r\n
      \r\n
      \r\n
      d{\")\"}
      \r\n
      \r\n personalise the Website and associated Products\r\n and Services for you;\r\n
      \r\n
      \r\n
      \r\n
      e{\")\"}
      \r\n
      \r\n enable your use of Products and Services available\r\n on the Website;\r\n
      \r\n
      \r\n
      \r\n
      f{\")\"}
      \r\n
      \r\n send you non-marketing commercial communications\r\n by email;\r\n
      \r\n
      \r\n
      \r\n
      g{\")\"}
      \r\n
      \r\n send you email or SMS notifications that you have\r\n specifically requested;\r\n
      \r\n
      \r\n
      \r\n
      h{\")\"}
      \r\n
      \r\n send you email newsletters to which you have\r\n subscribed (you can unsubscribe at any time);\r\n
      \r\n
      \r\n
      \r\n
      i{\")\"}
      \r\n
      \r\n send you communications to you by email or similar\r\n technology relating to our activities which we\r\n think may be of interest (you can inform us at any\r\n time if you no longer require such\r\n communications);\r\n
      \r\n
      \r\n
      \r\n
      j{\")\"}
      \r\n
      \r\n deal with enquiries and complaints made by or\r\n about you relating to the Website;\r\n
      \r\n
      \r\n
      \r\n
      k{\")\"}
      \r\n
      \r\n keep the Website secure and prevent fraud; and\r\n
      \r\n
      \r\n
      \r\n
      l{\")\"}
      \r\n
      \r\n verify compliance with the terms and conditions\r\n governing the use of the Website.\r\n
      \r\n
      \r\n
      \r\n
    4. \r\n
      \r\n
    \r\n
  6. \r\n

    \r\n

    \r\n
  7. \r\n CONFIDENTIALITY AND SECURITY OF PERSONAL DATA\r\n
      \r\n
      \r\n
    1. \r\n ITC will process your Personal Data with due regard to\r\n its confidentiality.\r\n
    2. \r\n
      \r\n
      \r\n
    3. \r\n ITC will process Personal Data with transparency to you,\r\n as appropriate and whenever possible.\r\n
    4. \r\n
      \r\n
      \r\n
    5. \r\n ITC will take reasonable technical and organisational\r\n precautions to prevent the loss, misuse or alteration of\r\n your Personal Data.\r\n
    6. \r\n
      \r\n
      \r\n
    7. \r\n ITC will store all the Personal Data that you provide on\r\n our secure and encrypted servers.\r\n
    8. \r\n
      \r\n
      \r\n
    9. \r\n You acknowledge that the transmission of information\r\n over the internet is inherently insecure, and ITC cannot\r\n guarantee the security of data, including your Personal\r\n Data, sent over the internet.{\" \"}\r\n
    10. \r\n
      \r\n
      \r\n
    11. \r\n You are responsible for keeping confidential the\r\n password you use for accessing our Website; we will not\r\n ask you for your password via e-mail, SMS, phone or\r\n other channels except when you log in through the\r\n Website.\r\n
    12. \r\n
      \r\n
      \r\n
    13. \r\n Personal Data that ITC collects may be stored and\r\n processed in and transferred between any of the\r\n countries in which ITC undertakes its activities, in\r\n order to enable ITC to use the Personal Data in\r\n accordance with this Privacy Policy.\r\n
    14. \r\n
      \r\n
    \r\n
  8. \r\n

    \r\n

    \r\n
  9. \r\n WHO WE DISCLOSE YOUR PERSONAL DATA TO\r\n
      \r\n
      \r\n
    1. \r\n In carrying out our mandated activities, ITC may\r\n disclose your Personal Data to any ITC officials or\r\n third parties, including professional advisers,\r\n consultants, suppliers, subcontractors and auditors,\r\n insofar as reasonably necessary for the purposes set out\r\n in this Privacy Policy, provided that, under the\r\n circumstances, ITC is satisfied that the third party\r\n affords appropriate protection for the data concerned.\r\n
    2. \r\n
      \r\n
      \r\n
    3. \r\n ITC may disclose your Personal Data:\r\n
      \r\n
      \r\n
      a{\")\"}
      \r\n
      \r\n to the extent that ITC is required to do so by\r\n applicable laws;\r\n
      \r\n
      \r\n
      \r\n
      b{\")\"}
      \r\n
      \r\n in connection with any ongoing or prospective\r\n legal proceedings; or\r\n
      \r\n
      \r\n
      \r\n
      c{\")\"}
      \r\n
      \r\n in order to establish, exercise or defend ITC’s\r\n legal rights.\r\n
      \r\n
      \r\n
      \r\n
    4. \r\n
      \r\n
      \r\n
    5. \r\n ITC may disclose your Personal Data to any other agency\r\n of the United Nations, other international\r\n organizations, or public and private sector entities\r\n insofar as reasonably necessary for the purposes set out\r\n in this Privacy Policy. Any compliance with national\r\n data protection legislation, or cooperation with\r\n national or regional data protection authorities, is\r\n always without prejudice to ITC’s privileges and\r\n immunities under domestic and international law. You\r\n acknowledge that ITC cannot be compelled to disclose any\r\n information acquired while carrying out its work.\r\n
    6. \r\n
      \r\n
    \r\n
  10. \r\n

    \r\n

    \r\n
  11. \r\n THIRD-PARTY WEBSITES\r\n
      \r\n
      \r\n
    1. \r\n ITC’s Website may include links and references to\r\n third-party websites. Clicking on those links or\r\n enabling those connections may allow third parties to\r\n collect or share data about you including your Personal\r\n Data.\r\n
    2. \r\n
      \r\n
      \r\n
    3. \r\n ITC has no control over, and is not responsible for,\r\n these third-party websites or how they process data, and\r\n ITC is not responsible for the privacy policies and\r\n practices of any third party. ITC provides these links\r\n only as a convenience, and the inclusion of a link or\r\n reference does not imply the endorsement of the Linked\r\n Website by ITC. When you leave the Website, ITC\r\n encourages you to read the privacy policy of every\r\n website you visit.\r\n
    4. \r\n
      \r\n
      \r\n
    5. \r\n ITC does not share any personal data that you provide\r\n during the registration process with third party\r\n websites. This includes data about you transmitted\r\n through the system, e.g. IP details, and data that you\r\n provide when completing your user profile.\r\n
    6. \r\n
      \r\n
    \r\n
  12. \r\n

    \r\n\r\n {/* Retention , Destruction */}\r\n

    \r\n
  13. \r\n RETENTION, DESTRUCTION, AND ARCHIVING OF PERSONAL DATA\r\n
      \r\n
      \r\n
    1. \r\n Personal Data that ITC processes, for the purposes set\r\n out in this Privacy Policy, shall not be retained for\r\n longer than is necessary.\r\n
    2. \r\n
      \r\n
      \r\n
    3. \r\n You can request access, verification, rectification\r\n and/or deletion of your Personal Data via our contact\r\n details below (Section 11), insofar as the specified\r\n purpose for which the Personal Data is processed is not\r\n frustrated.\r\n
    4. \r\n
      \r\n
      \r\n
    5. \r\n ITC will delete Personal Data when:\r\n
      \r\n
      \r\n
      a{\")\"}
      \r\n
      \r\n they are no longer necessary for the purposes for\r\n which they were collected or otherwise further\r\n processed; and/or\r\n
      \r\n
      \r\n
      \r\n
      b{\")\"}
      \r\n
      \r\n you either withdraw your consent for processing,\r\n or object to the processing or request deletion of\r\n your Personal Data, via our Contact details below\r\n (Section 11).\r\n
      \r\n
      \r\n
      \r\n
    6. \r\n
      \r\n
      \r\n
    7. \r\n ITC reserves the right to retain in a deidentified form\r\n any analytical or reporting data that it has derived\r\n through the processing of your Personal Data.\r\n
    8. \r\n
      \r\n
      \r\n
    9. \r\n Notwithstanding the other provisions of this section,\r\n destruction of records containing your Personal Data may\r\n be suspended, and documents retained (including\r\n electronic documents), if any of the following apply:\r\n
      \r\n
      \r\n
      a{\")\"}
      \r\n
      \r\n there is a legitimate reason for archiving them,\r\n including, for instance, but not limited to, when\r\n Personal Data may be necessary for auditing or for\r\n statistical, scientific or historical purposes;\r\n
      \r\n
      \r\n
      \r\n
      b{\")\"}
      \r\n
      \r\n to the extent that we are required to do so by\r\n applicable law;\r\n
      \r\n
      \r\n
      \r\n
      c{\")\"}
      \r\n
      \r\n if ITC believes that the documents containing your\r\n Personal Data may be relevant to any ongoing or\r\n prospective legal proceedings; and\r\n
      \r\n
      \r\n
      \r\n
      d{\")\"}
      \r\n
      \r\n in order to establish, exercise or defend ITC’s\r\n legal rights.\r\n
      \r\n
      \r\n
      \r\n
    10. \r\n
      \r\n
    \r\n
  14. \r\n

    \r\n\r\n {/* Cookies */}\r\n

    \r\n
  15. COOKIES
  16. \r\n
      \r\n
      \r\n
    1. \r\n You are hereby informed that, when you visit ITC’s\r\n Website, or register or supply Personal Data through the\r\n ITC’s Website, cookies may automatically be installed on\r\n the browser software of your computer, mobile phone or\r\n other device.\r\n
    2. \r\n
      \r\n
      \r\n
    3. \r\n Cookies are small data files made up of letters and\r\n numbers stored on your computer or other devices when you\r\n access the Website. ITC uses cookies to collect\r\n information about you to the extent necessary to ensure\r\n its Website functionality and performance, as well as for\r\n the purposes of targeting its audience and tailoring the\r\n content offered to the public, both on the Website and\r\n elsewhere. ITC sends cookies when you visit and use the\r\n Website, download material, and/or request a Product or\r\n Service or information. Accepting the cookies used on the\r\n Website does not give ITC access to your personally\r\n identifiable information, but ITC can use the cookies to\r\n identify your computer. Encrypted information gathered\r\n from cookies is used to understand the performance of the\r\n Website, improve your experience while using it, and to\r\n remind you of our activities. However, this information is\r\n anonymous and based on user behaviour, and not on\r\n personally distinguishable features.\r\n
    4. \r\n
      \r\n
      \r\n
    5. \r\n If you do not wish to have cookies installed on your\r\n computer or mobile device, you can set your browser to\r\n notify you before you receive a cookie, giving you the\r\n opportunity to decide whether to accept it or not. You can\r\n also set your browser to turn off cookies. If you do so,\r\n however, some areas of the Website may not function\r\n properly.\r\n
    6. \r\n
      \r\n
      \r\n
    7. \r\n Setting cookies allows ITC to provide you with a better\r\n Product or Service, to improve your experience on the\r\n Website and to understand how the Website and other\r\n communication efforts are performing.\r\n
    8. \r\n
      \r\n
      \r\n
    9. \r\n Some of the cookies you may receive when visiting the\r\n Website are not related to ITC. For example, if you visit\r\n sections of the Website that contain embedded content such\r\n as a Twitter feed, or a plugin such as a Facebook ‘like’\r\n button, as well as a directory member website link, you\r\n may receive cookies delivered from these websites. ITC\r\n does not govern the settings or use of these third-party\r\n cookies, so ITC suggests that you visit these websites for\r\n more information about their cookies and applicable cookie\r\n and privacy policies. ITC cannot be held responsible for\r\n the privacy of data collected by websites that it does not\r\n own or manage, even if these websites link to the Website.\r\n Modern web browsers provide the ability to disable\r\n third-party cookies, or even all cookies.\r\n
    10. \r\n
      \r\n
      \r\n
    11. \r\n In continuing to use the Website, you consent to ITC\r\n collecting, storing and using additional information about\r\n your computer, and your visits to and use of the Website\r\n (including your IP address, geographical location, browser\r\n type and version, operating system, referral source,\r\n length of visit, page views and website navigation paths).{\" \"}\r\n
    12. \r\n
      \r\n
    \r\n

    \r\n

    \r\n
  17. ITC LEGAL STATUS
  18. \r\n
      \r\n
      \r\n
    1. \r\n ITC enjoys privileges and immunities by the Convention on\r\n the privileges and immunities of the United Nations\r\n adopted by the General Assembly of the United Nations on\r\n 13th February 1946 (hereinafter the “Privileges and\r\n Immunities”). \r\n
    2. \r\n
      \r\n
      \r\n
    3. \r\n Nothing contained in or relating to these Terms of Use\r\n shall constitute or be considered to be a limitation upon\r\n or a waiver, express or implied, of the Privileges and\r\n Immunities of the ITC, which are specifically reserved.\r\n
    4. \r\n
      \r\n
    \r\n

    \r\n

    \r\n
  19. AMENDMENTS
  20. \r\n
      \r\n
      \r\n
    1. \r\n We may update this Privacy Policy from time to time by\r\n publishing a new version on the Website. ITC thus\r\n encourages you to visit this section of the Website\r\n regularly in order to keep up to date with any changes.\r\n Changes to the Privacy Policy will apply from the date\r\n they are posted on the Website and shall not apply\r\n retroactively.\r\n
    2. \r\n
      \r\n
      \r\n
    3. \r\n Should you provide your consent ITC may notify you of\r\n changes to this Privacy Policy by email active on the\r\n Website.\r\n
    4. \r\n
      \r\n
    \r\n

    \r\n

    \r\n
  21. CONTACT DETAILS
  22. \r\n

    \r\n You can contact ITC to verify or rectify your Personal Data\r\n using the ITC Website contact form{\" \"}\r\n \r\n here\r\n {\" \"}\r\n or by post to:\r\n
    \r\n
    \r\n International Trade Centre\r\n
    \r\n Palais des Nations\r\n
    \r\n CH-1211 Geneva 10\r\n
    \r\n Switzerland\r\n
    \r\n \r\n

    \r\n
  23. VERSION DETAILS
  24. \r\n

    \r\n This policy was last updated 01 November 2022 and supersedes\r\n all previous versions.\r\n
    \r\n \r\n
\r\n
\r\n
\r\n
\r\n