@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 +13 -53
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +13 -53
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/ui/help-center.tsx +4 -10
- package/src/ui/help-popup.tsx +11 -44
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 =
|
|
11285
|
+
const handleEndAndStartNewChat = async () => {
|
|
11286
11286
|
if (tempSelectedOption) {
|
|
11287
11287
|
setStartNewChatConfirmation(false);
|
|
11288
|
-
|
|
11289
|
-
|
|
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
|
-
|
|
11293
|
+
})
|
|
11294
|
+
.finally(() => {
|
|
11320
11295
|
setTempSelectedOption(null);
|
|
11321
|
-
}
|
|
11296
|
+
});
|
|
11322
11297
|
}
|
|
11323
|
-
}
|
|
11324
|
-
|
|
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
|
-
}
|
|
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 (
|
|
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
|
-
|
|
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 {
|