@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.esm.js CHANGED
@@ -11253,59 +11253,26 @@ function HelpPopup({ onClose, helpScreen, status, error, onStartChat, onSendMess
11253
11253
  const hideEndChatConfirmation = useCallback(() => {
11254
11254
  setEndChatConfirmation(false);
11255
11255
  }, []);
11256
- const handleEndAndStartNewChat = useCallback(async () => {
11256
+ const handleEndAndStartNewChat = async () => {
11257
11257
  if (tempSelectedOption) {
11258
11258
  setStartNewChatConfirmation(false);
11259
- try {
11260
- // First end the current chat and wait for it to complete
11261
- await onEndChat();
11262
- // Wait for sessionId to be cleared (indicating the session is fully closed)
11263
- // We'll use a polling mechanism to wait for the state to update
11264
- const maxAttempts = 50; // 5 seconds max wait time
11265
- let attempts = 0;
11266
- while (sessionId && attempts < maxAttempts) {
11267
- await new Promise((resolve) => setTimeout(resolve, 100)); // Wait 100ms
11268
- attempts++;
11269
- }
11270
- // Only start new chat after current session is fully closed
11271
- if (!sessionId) {
11272
- setShowChat(true);
11273
- onStartChat(tempSelectedOption);
11274
- setSelectedOption(tempSelectedOption);
11275
- }
11276
- else {
11277
- console.warn('Session did not close properly, but proceeding with new chat');
11278
- setShowChat(true);
11279
- onStartChat(tempSelectedOption);
11280
- setSelectedOption(tempSelectedOption);
11281
- }
11282
- }
11283
- catch (error) {
11284
- console.error('Error ending current chat:', error);
11285
- // Even if ending fails, try to start new chat
11259
+ await handleEndChat()
11260
+ .then(() => {
11286
11261
  setShowChat(true);
11287
11262
  onStartChat(tempSelectedOption);
11288
11263
  setSelectedOption(tempSelectedOption);
11289
- }
11290
- finally {
11264
+ })
11265
+ .finally(() => {
11291
11266
  setTempSelectedOption(null);
11292
- }
11267
+ });
11293
11268
  }
11294
- }, [
11295
- onEndChat,
11296
- onStartChat,
11297
- setSelectedOption,
11298
- setTempSelectedOption,
11299
- tempSelectedOption,
11300
- setStartNewChatConfirmation,
11301
- sessionId,
11302
- ]);
11303
- const handleEndChat = useCallback(() => {
11269
+ };
11270
+ const handleEndChat = async () => {
11304
11271
  setEndChatConfirmation(false);
11305
- onEndChat();
11272
+ await onEndChat();
11306
11273
  setShowChat(false);
11307
11274
  setSelectedOption(null);
11308
- }, [selectedOption, onEndChat, setSelectedOption]);
11275
+ };
11309
11276
  const handleShowActiveChat = useCallback(() => {
11310
11277
  setShowChat(true);
11311
11278
  }, []);
@@ -11418,7 +11385,7 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
11418
11385
  });
11419
11386
  setAssistantStatus('idle');
11420
11387
  };
11421
- const handleEndChat = async (option) => {
11388
+ const handleEndChat = async () => {
11422
11389
  if (!sessionId || !selectedOption)
11423
11390
  return;
11424
11391
  try {
@@ -11435,9 +11402,6 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
11435
11402
  setSelectedOption(null);
11436
11403
  setMessages([]);
11437
11404
  setIsReviewDialogOpen(true);
11438
- if (option) {
11439
- handleStartChat(option);
11440
- }
11441
11405
  }
11442
11406
  catch (error) {
11443
11407
  console.error('Error ending chat:', error);
@@ -11457,8 +11421,7 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
11457
11421
  const response = await apiRequest(`Client/ClientChatSession/${reviewSessionId}/review`, 'POST', payload);
11458
11422
  if (!response.ok)
11459
11423
  throw new Error('Failed to send chat review');
11460
- setIsReviewDialogOpen(false);
11461
- setReviewSessionId(null);
11424
+ handleCloseChatReview();
11462
11425
  }
11463
11426
  catch (error) {
11464
11427
  console.error('Error sending chat review:', error);
@@ -11474,9 +11437,6 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
11474
11437
  };
11475
11438
  const startNewChatSession = async (option) => {
11476
11439
  var _a;
11477
- if (isAblyConnected || sessionId) {
11478
- handleEndChat();
11479
- }
11480
11440
  try {
11481
11441
  setStatus('loading');
11482
11442
  setError('');
@@ -11615,7 +11575,7 @@ function HelpCenter({ helpScreenId, user, showArrow = true, language = 'en', mes
11615
11575
  showArrowAnimation && !isOpen && (React__default.createElement(FloatingMessage, { onClose: handleCloseArrowAnimation, message: messageLabel || t('homeSdk.needAssistance') })),
11616
11576
  React__default.createElement(HelpButton, { onClick: handleTogglePopup }),
11617
11577
  isOpen && (React__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 })),
11618
- isOpen && !!isReviewDialogOpen && (React__default.createElement(ReviewDialog, { handleSubmit: handleSendChatReview, onClose: handleCloseChatReview }))));
11578
+ isOpen && !!isReviewDialogOpen && reviewSessionId && (React__default.createElement(ReviewDialog, { handleSubmit: handleSendChatReview, onClose: handleCloseChatReview }))));
11619
11579
  }
11620
11580
 
11621
11581
  class ApiService {