@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.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 =
|
|
11256
|
+
const handleEndAndStartNewChat = async () => {
|
|
11257
11257
|
if (tempSelectedOption) {
|
|
11258
11258
|
setStartNewChatConfirmation(false);
|
|
11259
|
-
|
|
11260
|
-
|
|
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
|
-
|
|
11264
|
+
})
|
|
11265
|
+
.finally(() => {
|
|
11291
11266
|
setTempSelectedOption(null);
|
|
11292
|
-
}
|
|
11267
|
+
});
|
|
11293
11268
|
}
|
|
11294
|
-
}
|
|
11295
|
-
|
|
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
|
-
}
|
|
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 (
|
|
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
|
-
|
|
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 {
|