diff --git a/widgets-samples/cc/samples-cc-react-app/src/App.tsx b/widgets-samples/cc/samples-cc-react-app/src/App.tsx index a9018925..df888810 100644 --- a/widgets-samples/cc/samples-cc-react-app/src/App.tsx +++ b/widgets-samples/cc/samples-cc-react-app/src/App.tsx @@ -59,7 +59,11 @@ function App() { const [collapsedTasks, setCollapsedTasks] = React.useState([]); const [showLoader, setShowLoader] = useState(false); - const [toast, setToast] = useState<{type: 'success' | 'error'}|null>(null); + const [toast, setToast] = useState<{type: 'success' | 'error'} | null>(null); + const [integrationEnv, setintegrationEnv] = useState(() => { + const savedintegrationEnv = window.localStorage.getItem('integrationEnv'); + return savedintegrationEnv === 'true'; + }); const handleSaveStart = () => { setShowLoader(true); @@ -115,6 +119,13 @@ const handleSaveEnd = (isComplete: boolean) => { cc: { allowMultiLogin: isMultiLoginEnabled, }, + ...(integrationEnv && { + services: { + discovery: { + u2c: 'https://u2c-intb.ciscospark.com/u2c/api/v1', + }, + }, + }), }; const onLogin = () => { @@ -280,18 +291,21 @@ const onTaskDeclined = (task,reason) => { const webexConfig = { config: { - "appName": "sdk-samples", - "appPlatform": "testClient", - "fedramp": false, - "logger": { - "level": "info" + appName: 'sdk-samples', + appPlatform: 'testClient', + fedramp: false, + logger: { + level: 'info', }, - "credentials": { - "client_id": "C04ef08ffce356c3161bb66b15dbdd98d26b6c683c5ce1a1a89efad545fdadd74", - "redirect_uri": redirectUri, - "scope": requestedScopes, - } - } + credentials: { + ...(integrationEnv && {authorizeUrl: 'https://idbrokerbts.webex.com/idb/oauth2/v1/authorize'}), + client_id: integrationEnv + ? 'Cd0dd53db1f470a5a9941e5eee31575bd0889d7006e3a80a1443ad12a42049da1' + : 'C04ef08ffce356c3161bb66b15dbdd98d26b6c683c5ce1a1a89efad545fdadd74', + redirect_uri: redirectUri, + scope: requestedScopes, + }, + }, }; const webex = Webex.init(webexConfig); @@ -319,6 +333,9 @@ const onTaskDeclined = (task,reason) => { useEffect(() => { window.localStorage.setItem('currentTheme', currentTheme); }, [currentTheme]); + useEffect(() => { + window.localStorage.setItem('integrationEnv', JSON.stringify(integrationEnv)); + }, [integrationEnv]); useEffect(() => { store.setIncomingTaskCb(onIncomingTaskCB); @@ -527,6 +544,16 @@ const onTaskDeclined = (task,reason) => { setDoStationLogout(!doStationLogout); }} /> + { + setintegrationEnv(!integrationEnv); + }} + /> {store.isAgentLoggedIn && (