@aslaluroba/help-center-react 2.0.6 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -265,7 +265,6 @@ class ConfigService {
265
265
  return ConfigService.instance;
266
266
  }
267
267
  initialize(config) {
268
- console.log('🔧 Initializing config with:', config);
269
268
  this.config = {
270
269
  baseUrl: config.baseUrl || 'https://babylai.net/api',
271
270
  hubUrl: config.hubUrl || config.baseUrl || 'https://babylai.net/api',
@@ -273,16 +272,13 @@ class ConfigService {
273
272
  apiKey: config.apiKey,
274
273
  getToken: config.getToken,
275
274
  };
276
- console.log('📋 Final config:', this.config);
277
275
  // Initialize API with the getToken function directly
278
276
  if (!this.config.getToken) {
279
277
  throw new Error('getToken function is required in configuration');
280
278
  }
281
- console.log('🌐 Initializing API with baseUrl:', this.config.baseUrl);
282
279
  initializeAPI(this.config.baseUrl || 'https://babylai.net/api', this.config.getToken);
283
280
  // Initialize SignalR
284
281
  const hubUrl = this.config.hubUrl || this.config.baseUrl || 'https://babylai.net/api';
285
- console.log('🔌 Initializing SignalR with hubUrl:', hubUrl);
286
282
  ClientSignalRService.initialize(hubUrl);
287
283
  }
288
284
  getConfig() {
@@ -710,9 +706,9 @@ var SvgEnvelope = function SvgEnvelope(props) {
710
706
 
711
707
  const ChatWindowFooter = (props) => {
712
708
  const { t, dir } = useLocalTranslation();
713
- return (React__default.createElement("footer", { className: "babylai-flex babylai-items-center babylai-gap-2 babylai-relative babylai-rounded-full babylai-bg-white babylai-m-4 md:babylai-m-6 md:babylai-py-3 md:babylai-px-4" },
714
- React__default.createElement("input", { type: "text", value: props.inputMessage, onChange: (e) => props.setInputMessage(e.target.value), onKeyDown: props.handleKeyDown, placeholder: t('homeSdk.placeholder'), className: "babylai-flex-1 babylai-py-2 babylai-px-4 babylai-bg-transparent babylai-outline-none babylai-text-sm" }),
715
- React__default.createElement(Button, { variant: "default", size: "icon", onClick: props.handleSendMessage, disabled: props === null || props === void 0 ? void 0 : props.isLoading, className: "babylai-rounded-full babylai-bg-purple-500 babylai-hover:babylai-bg-purple-600 babylai-w-8 babylai-h-8 babylai-disabled:babylai-opacity-50" },
709
+ return (React__default.createElement("footer", { className: 'babylai-flex babylai-items-center babylai-gap-2 babylai-relative babylai-rounded-full babylai-bg-white babylai-m-4 md:babylai-m-6 md:babylai-py-3 md:babylai-px-4' },
710
+ React__default.createElement("input", { type: 'text', value: props.inputMessage, onChange: (e) => props.setInputMessage(e.target.value), onKeyDown: props.handleKeyDown, placeholder: t('homeSdk.placeholder'), className: 'babylai-flex-1 babylai-py-2 babylai-px-4 babylai-bg-transparent babylai-outline-none babylai-text-sm' }),
711
+ React__default.createElement(Button, { variant: 'default', size: 'icon', onClick: props.handleSendMessage, disabled: (props === null || props === void 0 ? void 0 : props.isLoading) || !props.isSignalRConnected, className: 'babylai-rounded-full babylai-bg-purple-500 babylai-hover:babylai-bg-purple-600 babylai-w-8 babylai-h-8 babylai-disabled:babylai-opacity-50' },
716
712
  React__default.createElement(SvgEnvelope, { className: `babylai-w-4 babylai-h-4 ${dir === 'rtl' ? 'babylai-rotate-270' : ''}` }))));
717
713
  };
718
714
 
@@ -765,7 +761,7 @@ const TypingIndicator = React__default.memo(({ firstHumanAgentIndex }) => {
765
761
  React__default.createElement("p", { className: 'babylai-text-sm babylai-opacity-70' }, "..."))));
766
762
  });
767
763
  TypingIndicator.displayName = 'TypingIndicator';
768
- const ChatWindow = React__default.memo(({ onSendMessage, messages, assistantStatus = 'loading' }) => {
764
+ const ChatWindow = React__default.memo(({ onSendMessage, messages, assistantStatus = 'loading', isSignalRConnected }) => {
769
765
  const [inputMessage, setInputMessage] = useState('');
770
766
  const messagesEndRef = useRef(null);
771
767
  const scrollTimeoutRef = useRef(null);
@@ -805,14 +801,14 @@ const ChatWindow = React__default.memo(({ onSendMessage, messages, assistantStat
805
801
  }
806
802
  }, [inputMessage, onSendMessage]);
807
803
  const handleKeyDown = useCallback((e) => {
808
- if (e.key === 'Enter' && !e.shiftKey) {
804
+ if (e.key === 'Enter' && !e.shiftKey && isSignalRConnected) {
809
805
  e.preventDefault();
810
806
  if (inputMessage.trim() && assistantStatus !== 'typing') {
811
807
  onSendMessage(inputMessage);
812
808
  setInputMessage('');
813
809
  }
814
810
  }
815
- }, [inputMessage, onSendMessage, assistantStatus]);
811
+ }, [inputMessage, onSendMessage, assistantStatus, isSignalRConnected]);
816
812
  // Memoize the first human agent index calculation
817
813
  const firstHumanAgentIndex = useMemo(() => {
818
814
  return messages.findIndex((message) => message.senderType === 2);
@@ -833,7 +829,7 @@ const ChatWindow = React__default.memo(({ onSendMessage, messages, assistantStat
833
829
  messagesList,
834
830
  assistantStatus === 'typing' && React__default.createElement(TypingIndicator, { firstHumanAgentIndex: firstHumanAgentIndex }),
835
831
  React__default.createElement("div", { ref: messagesEndRef })),
836
- React__default.createElement(ChatWindowFooter, { inputMessage: inputMessage, handleKeyDown: handleKeyDown, handleSendMessage: handleSendMessage, setInputMessage: setInputMessage, isLoading: isLoading })));
832
+ React__default.createElement(ChatWindowFooter, { inputMessage: inputMessage, handleKeyDown: handleKeyDown, handleSendMessage: handleSendMessage, setInputMessage: setInputMessage, isLoading: isLoading, isSignalRConnected: isSignalRConnected })));
837
833
  });
838
834
  ChatWindow.displayName = 'ChatWindow';
839
835
 
@@ -1096,7 +1092,7 @@ const ConfirmationModal = ({ title, message, onCancel, onConfirm, }) => {
1096
1092
  React__default.createElement(Button, { variant: 'default', size: 'sm', onClick: onConfirm, className: 'babylai-text-sm babylai-w-full !babylai-font-bold' }, t('homeSdk.ConfirmationModal.confirmation_button')),
1097
1093
  React__default.createElement(Button, { variant: 'outline', size: 'sm', onClick: onCancel, className: 'babylai-text-sm babylai-w-full babylai-text-primary-500 !babylai-font-bold' }, t('homeSdk.ConfirmationModal.cancel_button'))))));
1098
1094
  };
1099
- function HelpPopup({ onClose, helpScreen, status, error, onStartChat, onSendMessage, onEndChat, messages, assistantStatus, needsAgent, sessionId, selectedOption, setSelectedOption, showHelpScreen, }) {
1095
+ function HelpPopup({ onClose, helpScreen, status, error, onStartChat, onSendMessage, onEndChat, messages, assistantStatus, needsAgent, sessionId, selectedOption, setSelectedOption, showHelpScreen, isSignalRConnected, }) {
1100
1096
  // ALL HOOKS MUST BE CALLED FIRST - BEFORE ANY EARLY RETURNS
1101
1097
  const [showChat, setShowChat] = useState(false);
1102
1098
  const [isShowList, setIsShowList] = useState(!showHelpScreen || false);
@@ -1149,7 +1145,7 @@ function HelpPopup({ onClose, helpScreen, status, error, onStartChat, onSendMess
1149
1145
  }
1150
1146
  }, [onStartChat, setSelectedOption, sessionId, setStartNewChatConfirmation, setTempSelectedOption]);
1151
1147
  const handleSendMessage = useCallback((message) => {
1152
- if (message.trim()) {
1148
+ if (message.trim() && isSignalRConnected) {
1153
1149
  onSendMessage(message.trim());
1154
1150
  }
1155
1151
  }, [onSendMessage]);
@@ -1178,7 +1174,7 @@ function HelpPopup({ onClose, helpScreen, status, error, onStartChat, onSendMess
1178
1174
  if (showChat && selectedOption) {
1179
1175
  return (React__default.createElement(React__default.Fragment, null,
1180
1176
  React__default.createElement(ChatWindowHeader, { handleBack: handleBack, handleEndChat: showEndChatConfirmation, onClose: onClose, isShowList: isShowList, showChat: showChat, setIsShowList: setIsShowList }),
1181
- React__default.createElement(ChatWindow, { onSendMessage: handleSendMessage, messages: memoizedMessages, assistantStatus: assistantStatus, needsAgent: needsAgent })));
1177
+ React__default.createElement(ChatWindow, { onSendMessage: handleSendMessage, messages: memoizedMessages, assistantStatus: assistantStatus, needsAgent: needsAgent, isSignalRConnected: isSignalRConnected })));
1182
1178
  }
1183
1179
  if (isShowList) {
1184
1180
  return (React__default.createElement(OptionsListScreen, { helpScreen: helpScreen, expandedOption: expandedOption, setExpandedOption: setExpandedOption, handleStartChat: handleStartChat, handleBack: showHelpScreen ? handleBack : onClose, showHelpScreen: showHelpScreen }));
@@ -1266,17 +1262,7 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
1266
1262
  setShowArrowAnimation(false);
1267
1263
  };
1268
1264
  const handleReceiveMessage = (message, senderType, needsAgent) => {
1269
- console.log('🎯 Help Center received message:', {
1270
- message,
1271
- senderType,
1272
- needsAgent,
1273
- timestamp: new Date().toISOString(),
1274
- currentSessionId: sessionId,
1275
- isSignalRConnected,
1276
- messagesCount: messages.length,
1277
- });
1278
1265
  if (needsAgent) {
1279
- console.log('🚨 Agent needed for this message');
1280
1266
  setNeedsAgent(true);
1281
1267
  }
1282
1268
  setMessages((prevMessages) => {
@@ -1287,13 +1273,10 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
1287
1273
  sentAt: new Date(),
1288
1274
  isSeen: true,
1289
1275
  };
1290
- console.log('✅ Adding message to state:', newMessage);
1291
1276
  const updatedMessages = [...prevMessages, newMessage];
1292
- console.log('📊 Total messages after update:', updatedMessages.length);
1293
1277
  return updatedMessages;
1294
1278
  });
1295
1279
  setAssistantStatus('idle');
1296
- console.log('🔄 Assistant status set to idle');
1297
1280
  };
1298
1281
  const handleEndChat = async (option) => {
1299
1282
  if (!sessionId || !selectedOption)
@@ -1301,6 +1284,7 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
1301
1284
  try {
1302
1285
  await ClientSignalRService.stopConnection();
1303
1286
  setIsSignalRConnected(false);
1287
+ setAssistantStatus('idle');
1304
1288
  const response = await apiRequest(`Client/ClientChatSession/${sessionId}/close`, 'POST');
1305
1289
  if (!response.ok)
1306
1290
  throw new Error('Failed to close chat session');
@@ -1312,6 +1296,7 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
1312
1296
  catch (error) {
1313
1297
  console.error('Error ending chat:', error);
1314
1298
  setError('Failed to end chat session');
1299
+ setAssistantStatus('idle');
1315
1300
  }
1316
1301
  };
1317
1302
  const handleSendChatReview = async ({ comment, rating }) => {
@@ -1337,6 +1322,9 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
1337
1322
  };
1338
1323
  const startNewChatSession = async (option) => {
1339
1324
  var _a;
1325
+ if (isSignalRConnected || sessionId) {
1326
+ handleEndChat();
1327
+ }
1340
1328
  try {
1341
1329
  setStatus('loading');
1342
1330
  setError('');
@@ -1358,14 +1346,12 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
1358
1346
  throw new Error('Failed to create chat session');
1359
1347
  }
1360
1348
  const createdSession = await response.json();
1361
- console.log('Created session:', createdSession);
1362
1349
  setSessionId(createdSession.id);
1363
- // Add greeting message if available
1364
1350
  if ((_a = option.assistant) === null || _a === void 0 ? void 0 : _a.greeting) {
1365
1351
  setMessages([
1366
1352
  {
1367
1353
  id: Date.now(),
1368
- senderType: 3, // AI
1354
+ senderType: 3,
1369
1355
  messageContent: option.assistant.greeting,
1370
1356
  sentAt: new Date(),
1371
1357
  isSeen: true,
@@ -1373,7 +1359,6 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
1373
1359
  ]);
1374
1360
  }
1375
1361
  else {
1376
- // Default greeting if none provided
1377
1362
  setMessages([
1378
1363
  {
1379
1364
  id: Date.now(),
@@ -1384,36 +1369,38 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
1384
1369
  },
1385
1370
  ]);
1386
1371
  }
1387
- // Connect to SignalR
1388
1372
  await ClientSignalRService.startConnection(createdSession.id, tokenResponse, handleReceiveMessage);
1373
+ // Verify the connection is actually active
1374
+ if (!ClientSignalRService.isConnectionActive()) {
1375
+ throw new Error('SignalR connection failed to establish properly');
1376
+ }
1389
1377
  setIsSignalRConnected(true);
1390
1378
  setIsChatClosed(false);
1391
1379
  setStatus('succeeded');
1392
1380
  }
1393
1381
  catch (error) {
1394
- console.error('Chat start error:', error);
1395
1382
  setError(error instanceof Error ? error.message : 'Failed to start chat session');
1396
1383
  setStatus('failed');
1397
1384
  }
1398
1385
  };
1399
1386
  const handleSendMessage = async (message) => {
1387
+ // Only send message if SignalR is connected
1388
+ if (!isSignalRConnected) {
1389
+ setError('Connection lost. Please try again.');
1390
+ return;
1391
+ }
1400
1392
  let currentSessionId = sessionId;
1401
1393
  if (message.trim() !== '') {
1402
1394
  try {
1403
- // Set loading state
1404
1395
  setAssistantStatus('typing');
1405
- // Add user message to the chat immediately
1406
- setMessages((prevMessages) => [
1407
- ...prevMessages,
1408
- {
1409
- id: Date.now(),
1410
- senderType: 1, // Customer
1411
- messageContent: message,
1412
- sentAt: new Date(),
1413
- isSeen: false,
1414
- },
1415
- ]);
1416
- // Create a new chat session if not started yet
1396
+ const userMessage = {
1397
+ id: Date.now(),
1398
+ senderType: 1,
1399
+ messageContent: message,
1400
+ sentAt: new Date(),
1401
+ isSeen: false,
1402
+ };
1403
+ setMessages((prevMessages) => [...prevMessages, userMessage]);
1417
1404
  if (!currentSessionId) {
1418
1405
  const chatSessionCreateDto = {
1419
1406
  helpScreenId: helpScreenId,
@@ -1431,211 +1418,46 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
1431
1418
  const createdSession = await response.json();
1432
1419
  setSessionId(createdSession.id);
1433
1420
  currentSessionId = createdSession.id;
1434
- // Connect to SignalR with the new session
1435
1421
  const tokenResponse = await configService.getToken();
1436
1422
  await ClientSignalRService.startConnection(createdSession.id, tokenResponse, handleReceiveMessage);
1437
1423
  setIsSignalRConnected(true);
1438
1424
  }
1439
- // Send the message
1440
1425
  const messageDto = { messageContent: message };
1441
1426
  const response = await apiRequest(`Client/ClientChatSession/${currentSessionId}/send-message`, 'POST', messageDto);
1442
1427
  if (!response.ok) {
1443
1428
  throw new Error('Failed to send message');
1444
1429
  }
1445
- // Update the sent message as seen
1446
1430
  setMessages((prevMessages) => prevMessages.map((msg) => (msg.senderType === 1 && !msg.isSeen ? { ...msg, isSeen: true } : msg)));
1447
1431
  }
1448
1432
  catch (error) {
1449
- console.error('Error in message handling:', error);
1450
1433
  setAssistantStatus('idle');
1451
- setMessages((prevMessages) => [
1452
- ...prevMessages,
1453
- {
1454
- id: Date.now(),
1455
- senderType: 3, // System
1456
- messageContent: 'Failed to send the message. Please try again.\n لم يتم إرسال الرسالة. يرجى المحاولة مرة أخرى.',
1457
- sentAt: new Date(),
1458
- isSeen: true,
1459
- },
1460
- ]);
1434
+ const errorMessage = {
1435
+ id: Date.now(),
1436
+ senderType: 3,
1437
+ messageContent: 'Failed to send the message. Please try again.\n لم يتم إرسال الرسالة. يرجى المحاولة مرة أخرى.',
1438
+ sentAt: new Date(),
1439
+ isSeen: true,
1440
+ };
1441
+ setMessages((prevMessages) => [...prevMessages, errorMessage]);
1461
1442
  }
1462
1443
  }
1463
1444
  };
1464
- // const startNewChatSession = async (option: Option) => {
1465
- // console.log('🚀 Starting new chat session with option:', option);
1466
- // if (isSignalRConnected || sessionId) {
1467
- // console.log('⚠️ Existing connection detected, ending current chat');
1468
- // handleEndChat();
1469
- // }
1470
- // try {
1471
- // setStatus('loading');
1472
- // setError('');
1473
- // setMessages([]);
1474
- // console.log('🔑 Getting token for authentication...');
1475
- // const tokenResponse = await configService.getToken();
1476
- // console.log('✅ Token obtained successfully');
1477
- // const chatSessionCreateDto = {
1478
- // helpScreenId: helpScreenId,
1479
- // optionId: option.id,
1480
- // ...(user && {
1481
- // user: {
1482
- // id: user.id,
1483
- // name: user.name,
1484
- // email: user.email,
1485
- // },
1486
- // }),
1487
- // };
1488
- // console.log('📡 Creating chat session with data:', chatSessionCreateDto);
1489
- // const response = await apiRequest('Client/ClientChatSession/create-session', 'POST', chatSessionCreateDto);
1490
- // if (!response.ok) {
1491
- // throw new Error('Failed to create chat session');
1492
- // }
1493
- // const createdSession = await response.json();
1494
- // console.log('✅ Chat session created:', createdSession);
1495
- // setSessionId(createdSession.id);
1496
- // if (option.assistant?.greeting) {
1497
- // console.log('💬 Adding custom greeting:', option.assistant.greeting);
1498
- // setMessages([
1499
- // {
1500
- // id: Date.now(),
1501
- // senderType: 3,
1502
- // messageContent: option.assistant.greeting,
1503
- // sentAt: new Date(),
1504
- // isSeen: true,
1505
- // },
1506
- // ]);
1507
- // } else {
1508
- // console.log('💬 Adding default greeting');
1509
- // setMessages([
1510
- // {
1511
- // id: Date.now(),
1512
- // senderType: 3,
1513
- // messageContent: 'Hello! How can I assist you today?\nمرحباً! كيف يمكنني مساعدتك اليوم؟',
1514
- // sentAt: new Date(),
1515
- // isSeen: true,
1516
- // },
1517
- // ]);
1518
- // }
1519
- // console.log('🔌 Starting SignalR connection...');
1520
- // await ClientSignalRService.startConnection(createdSession.id, tokenResponse, handleReceiveMessage);
1521
- // console.log('✅ SignalR connection established');
1522
- // // Verify the connection is actually active
1523
- // if (!ClientSignalRService.isConnectionActive()) {
1524
- // throw new Error('SignalR connection failed to establish properly');
1525
- // }
1526
- // setIsSignalRConnected(true);
1527
- // setIsChatClosed(false);
1528
- // setStatus('succeeded');
1529
- // console.log('🎉 Chat session fully initialized and ready');
1530
- // } catch (error) {
1531
- // console.error('❌ Chat start error:', error);
1532
- // setError(error instanceof Error ? error.message : 'Failed to start chat session');
1533
- // setStatus('failed');
1534
- // }
1535
- // };
1536
- // const handleSendMessage = async (message: string) => {
1537
- // console.log('📤 Sending message:', message);
1538
- // console.log('📊 Current state:', {
1539
- // sessionId,
1540
- // isSignalRConnected,
1541
- // messagesCount: messages.length,
1542
- // selectedOptionId: selectedOption?.id,
1543
- // });
1544
- // let currentSessionId = sessionId;
1545
- // if (message.trim() !== '') {
1546
- // try {
1547
- // setAssistantStatus('typing');
1548
- // console.log('⏳ Assistant status set to typing');
1549
- // const userMessage = {
1550
- // id: Date.now(),
1551
- // senderType: 1,
1552
- // messageContent: message,
1553
- // sentAt: new Date(),
1554
- // isSeen: false,
1555
- // };
1556
- // console.log('✅ Adding user message to UI:', userMessage);
1557
- // setMessages((prevMessages) => [...prevMessages, userMessage]);
1558
- // if (!currentSessionId) {
1559
- // console.log('🆕 No existing session, creating new one...');
1560
- // const chatSessionCreateDto = {
1561
- // helpScreenId: helpScreenId,
1562
- // optionId: selectedOption?.id,
1563
- // user: {
1564
- // id: user?.id,
1565
- // name: user?.name,
1566
- // email: user?.email,
1567
- // },
1568
- // };
1569
- // console.log('📡 Creating new session with data:', chatSessionCreateDto);
1570
- // const response = await apiRequest('Client/ClientChatSession/create-session', 'POST', chatSessionCreateDto);
1571
- // if (!response.ok) {
1572
- // throw new Error('Failed to create chat session');
1573
- // }
1574
- // const createdSession = await response.json();
1575
- // console.log('✅ New session created:', createdSession);
1576
- // setSessionId(createdSession.id);
1577
- // currentSessionId = createdSession.id;
1578
- // console.log('🔌 Starting SignalR connection for new session...');
1579
- // const tokenResponse = await configService.getToken();
1580
- // await ClientSignalRService.startConnection(createdSession.id, tokenResponse, handleReceiveMessage);
1581
- // setIsSignalRConnected(true);
1582
- // console.log('✅ SignalR connection established for new session');
1583
- // }
1584
- // const messageDto = { messageContent: message };
1585
- // console.log('📡 Sending message to API:', messageDto);
1586
- // console.log('🎯 Target endpoint:', `Client/ClientChatSession/${currentSessionId}/send-message`);
1587
- // const response = await apiRequest(
1588
- // `Client/ClientChatSession/${currentSessionId}/send-message`,
1589
- // 'POST',
1590
- // messageDto
1591
- // );
1592
- // if (!response.ok) {
1593
- // throw new Error('Failed to send message');
1594
- // }
1595
- // console.log('✅ Message sent successfully to server');
1596
- // console.log('⏳ Waiting for SignalR response...');
1597
- // setMessages((prevMessages) =>
1598
- // prevMessages.map((msg) => (msg.senderType === 1 && !msg.isSeen ? { ...msg, isSeen: true } : msg))
1599
- // );
1600
- // console.log('✅ User message marked as seen');
1601
- // } catch (error) {
1602
- // console.error('❌ Error in message handling:', error);
1603
- // setAssistantStatus('idle');
1604
- // const errorMessage = {
1605
- // id: Date.now(),
1606
- // senderType: 3,
1607
- // messageContent:
1608
- // 'Failed to send the message. Please try again.\n لم يتم إرسال الرسالة. يرجى المحاولة مرة أخرى.',
1609
- // sentAt: new Date(),
1610
- // isSeen: true,
1611
- // };
1612
- // console.log('📨 Adding error message:', errorMessage);
1613
- // setMessages((prevMessages) => [...prevMessages, errorMessage]);
1614
- // }
1615
- // }
1616
- // };
1617
1445
  useEffect(() => {
1618
1446
  if (isOpen && helpScreenId) {
1619
- console.log('📊 Loading help screen data for ID:', helpScreenId);
1620
1447
  setStatus('loading');
1621
1448
  apiRequest(`client/clientHelpScreen/${helpScreenId}`)
1622
1449
  .then((res) => res.json())
1623
1450
  .then((data) => {
1624
- console.log('✅ Help screen data loaded:', data);
1625
1451
  setHelpScreenData(data);
1626
1452
  setStatus('succeeded');
1627
1453
  setError('');
1628
1454
  })
1629
1455
  .catch((err) => {
1630
- console.error('❌ Failed to load help screen data:', err);
1631
1456
  setError(err.message);
1632
1457
  setStatus('failed');
1633
1458
  });
1634
1459
  }
1635
1460
  }, [isOpen, helpScreenId]);
1636
- useEffect(() => {
1637
- console.log('🔄 SignalR connection status', isSignalRConnected);
1638
- }, [isSignalRConnected]);
1639
1461
  return (React__default.createElement("div", { className: 'babylai-help-center-container mb-4' },
1640
1462
  showArrowAnimation && !isOpen && (React__default.createElement(FloatingMessage, { onClose: handleCloseArrowAnimation, message: messageLabel || t('homeSdk.needAssistance') })),
1641
1463
  React__default.createElement(HelpButton, { onClick: handleTogglePopup }),