@aslaluroba/help-center-react 3.0.1 → 3.0.2

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.js CHANGED
@@ -11282,59 +11282,26 @@ function HelpPopup({ onClose, helpScreen, status, error, onStartChat, onSendMess
11282
11282
  const hideEndChatConfirmation = React.useCallback(() => {
11283
11283
  setEndChatConfirmation(false);
11284
11284
  }, []);
11285
- const handleEndAndStartNewChat = React.useCallback(async () => {
11285
+ const handleEndAndStartNewChat = async () => {
11286
11286
  if (tempSelectedOption) {
11287
11287
  setStartNewChatConfirmation(false);
11288
- try {
11289
- // First end the current chat and wait for it to complete
11290
- await onEndChat();
11291
- // Wait for sessionId to be cleared (indicating the session is fully closed)
11292
- // We'll use a polling mechanism to wait for the state to update
11293
- const maxAttempts = 50; // 5 seconds max wait time
11294
- let attempts = 0;
11295
- while (sessionId && attempts < maxAttempts) {
11296
- await new Promise((resolve) => setTimeout(resolve, 100)); // Wait 100ms
11297
- attempts++;
11298
- }
11299
- // Only start new chat after current session is fully closed
11300
- if (!sessionId) {
11301
- setShowChat(true);
11302
- onStartChat(tempSelectedOption);
11303
- setSelectedOption(tempSelectedOption);
11304
- }
11305
- else {
11306
- console.warn('Session did not close properly, but proceeding with new chat');
11307
- setShowChat(true);
11308
- onStartChat(tempSelectedOption);
11309
- setSelectedOption(tempSelectedOption);
11310
- }
11311
- }
11312
- catch (error) {
11313
- console.error('Error ending current chat:', error);
11314
- // Even if ending fails, try to start new chat
11288
+ await handleEndChat()
11289
+ .then(() => {
11315
11290
  setShowChat(true);
11316
11291
  onStartChat(tempSelectedOption);
11317
11292
  setSelectedOption(tempSelectedOption);
11318
- }
11319
- finally {
11293
+ })
11294
+ .finally(() => {
11320
11295
  setTempSelectedOption(null);
11321
- }
11296
+ });
11322
11297
  }
11323
- }, [
11324
- onEndChat,
11325
- onStartChat,
11326
- setSelectedOption,
11327
- setTempSelectedOption,
11328
- tempSelectedOption,
11329
- setStartNewChatConfirmation,
11330
- sessionId,
11331
- ]);
11332
- const handleEndChat = React.useCallback(() => {
11298
+ };
11299
+ const handleEndChat = async () => {
11333
11300
  setEndChatConfirmation(false);
11334
- onEndChat();
11301
+ await onEndChat();
11335
11302
  setShowChat(false);
11336
11303
  setSelectedOption(null);
11337
- }, [selectedOption, onEndChat, setSelectedOption]);
11304
+ };
11338
11305
  const handleShowActiveChat = React.useCallback(() => {
11339
11306
  setShowChat(true);
11340
11307
  }, []);
@@ -11447,7 +11414,7 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
11447
11414
  });
11448
11415
  setAssistantStatus('idle');
11449
11416
  };
11450
- const handleEndChat = async (option) => {
11417
+ const handleEndChat = async () => {
11451
11418
  if (!sessionId || !selectedOption)
11452
11419
  return;
11453
11420
  try {
@@ -11464,9 +11431,6 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
11464
11431
  setSelectedOption(null);
11465
11432
  setMessages([]);
11466
11433
  setIsReviewDialogOpen(true);
11467
- if (option) {
11468
- handleStartChat(option);
11469
- }
11470
11434
  }
11471
11435
  catch (error) {
11472
11436
  console.error('Error ending chat:', error);
@@ -11486,8 +11450,7 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
11486
11450
  const response = await apiRequest(`Client/ClientChatSession/${reviewSessionId}/review`, 'POST', payload);
11487
11451
  if (!response.ok)
11488
11452
  throw new Error('Failed to send chat review');
11489
- setIsReviewDialogOpen(false);
11490
- setReviewSessionId(null);
11453
+ handleCloseChatReview();
11491
11454
  }
11492
11455
  catch (error) {
11493
11456
  console.error('Error sending chat review:', error);
@@ -11503,9 +11466,6 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
11503
11466
  };
11504
11467
  const startNewChatSession = async (option) => {
11505
11468
  var _a;
11506
- if (isAblyConnected || sessionId) {
11507
- handleEndChat();
11508
- }
11509
11469
  try {
11510
11470
  setStatus('loading');
11511
11471
  setError('');
@@ -11644,7 +11604,7 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
11644
11604
  showArrowAnimation && !isOpen && (React__default["default"].createElement(FloatingMessage, { onClose: handleCloseArrowAnimation, message: messageLabel || t('homeSdk.needAssistance') })),
11645
11605
  React__default["default"].createElement(HelpButton, { onClick: handleTogglePopup }),
11646
11606
  isOpen && (React__default["default"].createElement(HelpPopup, { isOpen: isOpen, onClose: () => setIsOpen(false), helpScreen: helpScreenData, status: status, error: error, user: user, onStartChat: handleStartChat, onSendMessage: handleSendMessage, onEndChat: handleEndChat, messages: messages, needsAgent: needsAgent, assistantStatus: assistantStatus, sessionId: sessionId, isChatClosed: isChatClosed, isAblyConnected: isAblyConnected, selectedOption: selectedOption, setSelectedOption: setSelectedOption, showHelpScreen: showHelpScreen })),
11647
- isOpen && !!isReviewDialogOpen && (React__default["default"].createElement(ReviewDialog, { handleSubmit: handleSendChatReview, onClose: handleCloseChatReview }))));
11607
+ isOpen && !!isReviewDialogOpen && reviewSessionId && (React__default["default"].createElement(ReviewDialog, { handleSubmit: handleSendChatReview, onClose: handleCloseChatReview }))));
11648
11608
  }
11649
11609
 
11650
11610
  class ApiService {